java執行緒通訊,解決執行緒之間的互動問題

2021-07-08 11:11:55 字數 564 閱讀 7045

執行緒通訊:

注意三個都是object的方法 並且都必須在synchronzied**塊和安全方法下使用否則會報異常

wiat:使當前執行緒掛起,釋放鎖,其他執行緒可以參與進來共享其資料。

notify:喚醒當前執行緒,讓執行緒握住鎖,其他執行緒無法參與進來。

notifyall:喚醒所有的執行緒。

下面為活生生列子一枚:

public class threadtest

}class custom extends thread

public void run()

} catch (interruptedexception e) }}

class account

public synchronized void deposit(double many) throws interruptedexception}

列印結果 為交替執行:

執行緒1:1000.0

執行緒2:2000.0

執行緒1:3000.0

執行緒2:4000.0

執行緒1:5000.0

執行緒2:6000.0

執行緒之間的通訊

class resclass inthread extends thread override public void run else count count 1 2 class outthread extends thread override public void run 資料發生錯亂,造成...

多執行緒之間通訊

多執行緒之間通訊,其實就是多個執行緒在操作同乙個資源,但是操作的動作不同。需求 第乙個執行緒寫入 input 使用者,另乙個執行緒取讀取 out 使用者.實現讀乙個,寫乙個操作。共享資源源實體類 class res輸入執行緒資源 class intthrad extends thread overr...

多執行緒之間通訊

多執行緒之間通訊 就是多個執行緒在操作同乙個資源,但是操作的動作不同 現在需要實現,生產一台電機,銷售一台電機問題。實現 執行結果 資料發生錯亂,造成執行緒安全問題 解決執行緒安全問題 通過wait notify來解決。wait和sleep的區別 wait可以指定時間也可以不指定時間,sleep必須...