阅读背景:

【C++多线程系列】【八】线程间通信之条件变量

来源:互联网 

有如下场景:线程A需要等线程B完成操作后,再进行执行;在线程B完成操作前,线程A出于睡眠状态,当线程B完成操作后,唤醒线程A。这里,注意,在线程B完成前,A是处于睡眠状态,即此时,A不占用CPU,不可用原子变量+while死循环来等待(while(!done)),这样的话CPU会处于一直运行状态。有如下场景:线程A需要等线程B完成操作后,再进行执行;在线程B完成操作前,线程A出




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: