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