線程間通信-等待喚醒機制

線程間通信:其實就是多個線程在操作同一個資源,但是操作的動作不同。

wait:
notify ( )
notifyAll ( )

都使用在同步中,因為要對持有監(jiān)視器(鎖)的線程操作。
所以要使用在同步中,因為只有同步才具有鎖。


為什么這些操作線程的方法要定義在Object類中呢?

因為這些方法在操作同步中的線程時,都必須要標識它們所操作線程持有的鎖,只有同一個鎖上的被等待線程,可以被同一個鎖上的notify喚醒。不可以對不同鎖中的線程進行喚醒。

也就是:等待和喚醒必須是同一個鎖。
而鎖可以是任意對象,可以被任意對象調用的方法定義在Object類中。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 1.解決信號量丟失和假喚醒 public class MyWaitNotify3{ MonitorObject m...
    Q羅閱讀 1,017評論 0 1
  • 本文主要講了java中多線程的使用方法、線程同步、線程數據傳遞、線程狀態(tài)及相應的一些線程函數用法、概述等。 首先講...
    李欣陽閱讀 2,602評論 1 15
  • Java多線程學習 [-] 一擴展javalangThread類 二實現javalangRunnable接口 三T...
    影馳閱讀 3,115評論 1 18
  • 該文章轉自:http://blog.csdn.net/evankaka/article/details/44153...
    加來依藍閱讀 7,472評論 3 87
  • Java8張圖 11、字符串不變性 12、equals()方法、hashCode()方法的區(qū)別 13、...
    Miley_MOJIE閱讀 3,908評論 0 11

友情鏈接更多精彩內容