JUC 執行緒間定製化通訊

2021-10-08 23:37:17 字數 1411 閱讀 5647

三個執行緒啟動,要求:

需要執行緒按照這就涉及到訊號量:

* 多執行緒按循序呼叫,實現a->b->c

* 三個執行緒啟動,要求:

* aa答應5次,bb答應10次,cc列印15次

* 接著

* aa答應5次,bb答應10次,cc列印15次

* ..

* 就這樣重複10輪**

* @author:lrc

* @date:9:37 上午 2020/7/4

*/class

sharedata

//幹活

for(

int i =

1; i <=

5; i++

) num=2;

//通知

cd2.

signal()

;}catch

(exception e)

finally

}public

void

print10

(int total)

//幹活

for(

int i =

1; i <=

10; i++

) num=3;

//通知

cd3.

signal()

;}catch

(exception e)

finally

}public

void

print15

(int total)

//幹活

for(

int i =

1; i <=

15; i++

) num=1;

//通知

cd1.

signal()

;}catch

(exception e)

finally}}

public

class

threadorderaccess},

"aa").

start()

;new

thread((

)->},

"bb").

start()

;new

thread((

)->},

"cc").

start();}}

1、有順序通知,需要有標識位

2、有乙個鎖lock,3把鑰匙condition

3、判斷標誌位

4、輸出執行緒名+第幾次+第幾輪

5、修改標誌位,通知下乙個

JUC 執行緒通訊

面試題 兩個執行緒,乙個執行緒列印1 52,另乙個列印字母a z列印順序為12a34b 5152z 多執行緒程式設計模板 執行緒虛假喚醒問題 上述問題的解決方式 jdk中已經給出了 這也就是面試題中使用while進行判斷的原因 juc中新的方法實現執行緒通訊 condition物件的獲取 通過loc...

JUC 多執行緒(2 執行緒間的通訊)學習筆記

3.多執行緒模板 3 4.執行緒通訊中 synchronized 與 lock 5.執行緒間定製化呼叫通訊 精準喚醒 生產者 消費者 通知等待喚醒機制 1.判斷 判斷有無產品 2.幹活 如果沒有產品,則先生成 如果已有產品,則先消費 3.通知 通知對方我已經幹完了,該你了 public class ...

執行緒間通訊

執行緒間通訊 多個執行緒在操作統一資源,但各個執行緒操作的動作不同。資源 class res class input implements runnable public void run else x x 1 2 class output implements runnable public vo...