除了wait/notify
還有一種更簡潔的線程間事件通知方式嗎?
例如如果我想要Thread X
通知ThreadY
發生了什麼事情,在併發包中有比在wait/notify
之上構建更好的構造嗎?
我的要求很簡單: ThreadB
預計會發生一個事件。 ThreadA
負責檢測這些變化。當變化發生ThreadA
運籌學ThreadB
協調線程無需等待/如果可能通知
更新:
我需要做的觀察者/可觀察的模式,但我想觀察的到,當它在環通知觀察員阻止儘可能少。
I.e.觀察者將是單獨的線程,並且火災變化的觀察值將「通知」它們以便儘可能少地阻止
您能否提供更多關於您的要求的細節?你在'java.util.concurrent'中看到了什麼(例如'CyclicBarrier','CountdownLatch'?你需要傳遞信息,還是僅僅通知本身? – 2013-02-26 13:25:48
更好的方式是什麼?java有信號量,IIRC。 – 2013-02-26 13:25:49
@JonSkeet:請參閱更新。你提到的結構是關於開始線程一起等對嗎? – Jim 2013-02-26 13:28:50