java中線程間的通信

java中線程間的通信
**
 * 線程間通信
 * 多個線程在處理同一資源 ,但是任務卻不同
 */

線程間的通信利用了多線程的等待喚醒機制,具體如下 
/**
 * 等待喚醒機制
 * <p>
 * 涉及的方法
 * 1.wait(): 讓線程處於凍結狀態,被wait的線程會被存儲到線程池中。
 * 2.notify():用於喚醒線程池中的一個線程(任意)
 * 3.notifyAll():喚醒線程池中的所有線程
 * <p>
 * 這些方法都必須定義在同步 中,
 * 因爲這些方法都是用於操作線程狀態的方法,必須要明確到底操作的是哪個鎖上的線程
 * <p>
 * <p>
 * 爲什麼操作線程的方法 wait  notify  notifyAll定義在了Object類中
 * 因爲這些方法是監視器的方法,監視器其實就是鎖
 * 鎖可以是任意的對象 ,任意的對象 調用 的方法一定定義 在Object類中
 */

下面的示例 是  同一資源Resource,通過 輸入線程Input輸入內容,輸出線程Output輸出內容

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章