多執行緒間通訊的注意問題

2021-09-27 18:50:14 字數 349 閱讀 1520

1.在同步**快中,用哪個鎖物件,就用哪個物件呼叫wait方法

2.為什麼wait方法和notify方法定義在object這個類中?

答:因為鎖物件可以是任意物件,object是所有類的基類,所以wait和notify方法需要定義在object這個類中。

3.sleep方法和wait方法的區別?

答:a:sleep方法必須傳入引數,引數就是時間,時間到了自動醒來;wait方法可以傳入引數也可以不傳入引數,傳入的引數在引數時間結束後等待,不傳入引數就是直接等待

b:sleep方法在同步函式或同步**塊中,不釋放鎖(睡著了也抱著鎖睡,不釋放執行權);而wait方法在同步函式或同步**塊中,釋放鎖(也就是執行權)

多執行緒 執行緒間通訊

wait 方法的作用是使當前執行的執行緒進入等待,執行到 wait 一行進入等待 當執行緒被喚醒時從 wait 下一行開始執行。wait 方法需要在 synchronized 塊中呼叫,否則會報錯。wait 方法會釋放鎖,其它執行緒可以競爭獲得鎖 wait 方法有乙個帶時間引數的,當時間到了可以自動...

多執行緒 執行緒間通訊

學習思路 執行緒同步 鎖 wait notify join threadlocal 通過管道輸入 輸出流 字元流 位元組流 服務如果一直處於單執行緒訪問,那將毫無意義,多使用者訪問必然產生多執行緒,而多執行緒訪問必然離不開執行緒間通訊 多執行緒操作共享資源時勢必會產生執行緒安全的問題 也就是我們說的...

多執行緒間的通訊

多執行緒間的通訊 多個執行緒都在處理同乙個資源,但是處理的任務不一樣 等待喚醒機制。生產者,消費者 需求 生產者每生產乙個產品,消費者就消費乙個。通過同步,解決了沒生產就消費的問題。但是出現了連續的生產沒有消費的情況,和需求生產乙個,消費乙個的情況不符 使用了等待喚醒機制.wait 該方法可以讓執行...