他在的地方都暂停了。只有都到齐了。才大家一起执行。这里是大家都暂停,楼下是总的地方暂停
跟计数器,CountDownLatch区别,计数器是我计数的地方不会暂停,但是呢,记总数的地方,暂停了。只有总数跟计数的个数加起来才总的地方执行;
public class test {
java.util.concurrent.CyclicBarrier cyclicBarrier = new java.util.concurrent.CyclicBarrier(2);
public class A implements java.lang.Runnable{
java.util.concurrent.CyclicBarrier cyclicBarrier;
int threadName;
public A(java.util.concurrent.CyclicBarrier cyclicBarrier,int threadName){
this.cyclicBarrier = cyclicBarrier;
this.threadName = threadName;
}
public void run(){
System.out.println(this.threadName+"开始");
try {
this.cyclicBarrier.await();
} catch (BrokenBarrierException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(this.threadName+"结束");
}
}
public static void main(String[] args) throws ParseException {
test a = new test();
for(int i=1;i <=2;i++){
new Thread(new test().new A(a.cyclicBarrier,i)).start();
}
}
}