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

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

wait:
notify ( )
notifyAll ( )

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


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

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

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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容