CountDownLatch的介紹及使用

2021-10-23 09:12:22 字數 843 閱讀 7279

是一組執行緒等待其他的執行緒完成工作以後在執行,加強版join;

await()用來等待,countdown()負責計數器的減一;

乙個執行緒需要等待其餘執行緒扣減完一定的數目在執行,就需要在這個執行緒中執行countdownlatch物件的await()方法,進入等待佇列

public

class

usecountdownlatch}}

//業務執行緒

private

static

class

busithread

implements

runnable

catch

(interruptedexception e)

for(

int i =

0;i<

3;i++)}

}public

static

void

main

(string[

] args)

throws interruptedexception })

.start()

;new

thread

(new

busithread()

).start()

;for

(int i=

0;i<=

3;i++

)//main執行緒等待

latch.

await()

; system.out.

println

("main do ites work........");

}}

CountDownLatch的簡單理解

countdownlatch是乙個同步工具類,用來協調多個執行緒之間的同步,或者說起到執行緒之間的通訊 而不是用作互斥的作用 countdownlatch能夠使乙個執行緒在等待另外一些執行緒完成各自工作之後,再繼續執行。使用乙個計數器進行實現。計數器初始值為執行緒的數量。當每乙個執行緒完成自己任務後...

CountDownLatch 的簡單理解

countdownlatch是乙個同步工具類,用來協調多個執行緒之間的同步,或者說起到執行緒之間的通訊 而不是用作互斥的作用 countdownlatch能夠使乙個執行緒在等待另外一些執行緒完成各自工作之後,再繼續執行。使用乙個計數器進行實現。計數器初始值為執行緒的數量。當每乙個執行緒完成自己任務後...

CountDownLatch類的分析

countdownlatch 實現 乙個或多個執行緒 等待 其他一組執行緒的操作執行完成。1 內部類 sync extends abstractqueuedsynchronizer 繼承了aqs,並實現了tryacquireshared,tryreleaseshared方法,同時擁有構造方法 syn...