執行緒間的通訊之wait和notify的使用

2021-10-05 09:18:24 字數 723 閱讀 1052

wait和notify需要和synchronized一起使用,即需要先獲得鎖

public

class

test

catch

(interruptedexception e)

log.

debug

("其它**....");

}}).

start()

;new

thread((

)->

catch

(interruptedexception e)

log.

debug

("其它**....");

}}).

start()

;// 主線程兩秒後執行

sleep(2

);log.

debug

("喚醒 obj 上其它執行緒");

synchronized

(obj)

}}

synchronized

(lock)

// 幹活

}//另乙個執行緒

synchronized

(lock)

程序間通訊和執行緒間通訊

程序間通訊 ipc,interprocess communication 是一組程式設計介面,讓程式設計師能夠協調不同的程序,使之能在乙個作業系統裡同時執行,並相互傳遞 交換資訊。這使得乙個程式能夠在同一時間裡處理許多使用者的要求。因為即使只有乙個使用者發出要求,也可能導致乙個作業系統中多個程序的執...

程序間通訊和執行緒間通訊總結

死鎖的四個必要條件 資源有限 持有等待 不能搶占 迴圈等待條件 死鎖的應對方式 消除獨佔條件 即將資源無限增加或者變為共享 消除保持和請求條件 即乙個程序一次請求其所需要的所有資源,而不是請求一點資源做一點事情,但是這樣太過浪費。消除非搶占條件 即允許對資源進行搶占 消除迴圈等待條件 即產生迴圈等待...

執行緒間通訊之Handler

使用handler在主線程和子執行緒之間傳遞訊息的機制,就是通過handler獲取主線程的訊息佇列,將子執行緒的訊息傳送到主線程的訊息佇列,由looper取出後交給目標handler處理。looper 首先主線程會初始化時呼叫looper.prepare 建立主線程的looper,建立的looper...