多线程通信中用while和用if的区别

在多线程通信中当有多个生产者和多个消费者,如果用if来判断flag,就可能出现多个生产者和多个消费者的情况,而改用while则不会,其中的原因是while和if本身的语法特点造成的                     如图: 对于if,线程在执行到if语句的时候进行判断,flag为true进入if语句的语句体中,线程进行等待。而当线程被同类线程唤醒时,由于使用的是if,if代码块里的语句只执行
相关文章
相关标签/搜索