cyclicbarrier也是一種計數器,其實可以反覆使用的,比如說,將計數器設定為10,那麼湊齊第一批10個執行緒後,計數器就會清零,然後可以接著湊齊下一批10個執行緒。cyclicbarrier是比countdownlatch更加強大的,cyclicbarrier可以接收乙個引數作為barrieraction。所謂的barrieraction就是當計數器一次計數完畢後,會執行的動作。
cyclicbarrier的建構函式:public cyclicbarrier(int parties, runnable barrieraction);
cyclicbarrier的主要方法:
await()方法,呼叫該方法的執行緒進入等待狀態,當湊齊計數器的個數後,這些執行緒才會開始執行。當計數器清零後,再呼叫該方法就表示再次開始計數。
應用示例:
public class cyclicbarrierdemo
exe.shutdown();
} static class work implements runnable
public void run() catch (interruptedexception e) catch (brokenbarrierexception e)
} }static class action implements runnable
}}
實戰Java高併發程式設計(三)JDK並發包
同步控制 重入鎖 重入鎖可以完全替代synchronized關鍵字。其使用方法如下 public reentrantlock lock new reentrantlock public void run finally 由於其通過人工進行lock和unlock,因此比synchronized更好控制...
JDK1 5並發包學習筆記(3)
總結 1.寫乙個方法實現callable介面 2.生成executorservice es executors.newfixedthreadpool 3 3.執行該執行緒 future f es.submit c1 c1即為實現callablel類的例項 第二項 queue jdk5.0新增的con...
java並發包之ConcurrentHashMap
1.hashentry類static final class hashentry 2.segment類static final class segmentextends reentrantlock implements serializable 設定 table 引用到這個新生成的 hashentr...