java中的併發工具類

2021-07-12 01:22:26 字數 600 閱讀 4632

類名稱類的簡介

類的特點

countdownlatch

允許乙個或者多個執行緒等待其他執行緒完成之後再執行後續操作

countdownlatch提供了乙個計數器,只能初始化一次,但是提供了乙個await方法,允許設定乙個時間,當等待一段時間後,就會不再阻塞當前執行緒。

cyclicbarrier

讓一組執行緒到達乙個屏障時被阻塞,直到最後乙個執行緒到達屏障時,屏障才會開門,所有被遮蔽的執行緒才會繼續執行

cyclicbarrier計數器可以使用reset方法重置,所以cyclicbarrier能夠處理更加複雜的場景,例如:如果計算發生錯誤,可以重置計數器,並讓執行緒重新執行

semaphore

用來控制同時訪問特定資源的執行緒的數量

資源的數量需要預先指定

exchanger

執行緒間協作的工具類,用於進行執行緒間的資料交換,它提供乙個同步點,兩個執行緒可以交換彼此的資料,這兩個執行緒通過exchange方法交換資料,如果第乙個執行緒先執行exchange方法,它會一直等待第二個執行緒也執行exchange方法,當兩個執行緒都達到同步點時,這兩個執行緒就可以交換資料,將本執行緒生產出來的資料傳遞給對方

多個執行緒協作互動資料

java 中的併發工具類簡介

1 等待多執行緒完成的countdownlatch countdownlatch允許乙個或多個執行緒等待其他執行緒完成操作。2 同步屏障cyclicbarrier cyclicbarrier的字面意思是可迴圈使用 cyclic 的屏障 barrier 它要做的事情是,讓一組執行緒到達乙個屏障 也可以...

Java併發工具類

目錄 1.等待多執行緒完成的countdownlatch 2.同步屏障cyclicbarrier 3.控制併發執行緒數的semaphore 4.執行緒間交換資料的exchanger countdownlatch允許乙個或多個執行緒等待其他執行緒完成操作,類似於join方法。join的實現原理是不停的...

Java併發工具類之CyclicBarrier

cyclicbarrier的意思是可迴圈使用的屏障。它可以讓一組執行緒到達乙個屏障時被阻塞,直到最後乙個執行緒到達屏障時,屏障才會開門,所有阻塞的執行緒才會繼續執行。它就好像一道關卡,只有所有的部隊 執行緒 都到了才能放行。部分原始碼 public class cyclicbarrier 可以看到,...