线程间通信
传统线程间通信
?基于Lock与Condition的线程通信Condition的功能类似在传统线程中的wait()和notify()的功能,在等待Condition时,允许发生"虚假唤醒",这通常作为对基础平台语义的让步,对于大多数应用程序,这带来的影响很小,因Condition应总是在一个循环中被等等,并测试正被等待的状态声明,某个实现可以随意移除可能的虚假唤醒,但建议应用程序中虚假唤醒可能发生,因此总是在一个循环中等待.
?基于Lock与Condition的线程通信
Condition的功能类似在传统线程中的wait()和notify()的功能,在等待Condition时,允许发生"虚假唤醒",这通常作为对基础平台语义的让步,对于大多数应用程序,这带来的影响很小,因Condition应总是在一个循环中被等等,并测试正被等待的状态声明,某个实现可以随意移除可能的虚假唤醒,但建议应用程序中虚假唤醒可能发生,因此总是在一个循环中等待.