CyclicBarrier功能
当线程达到一定的次数,并行执行。
代码如下:
public class ThreadCyclicBarrier {
public static void main(String[] args) throws InterruptedException {
CyclicBarrier cyclicBarrier = new CyclicBarrier(5);//5 就代表线程数量
for (int i = 0;i<5;i++) {
new Thread(new Runnable() {
public void run() {
System.out.println("子线程执行");
try {
cyclicBarrier.await();//当线程执行完毕后并行执行。。。
} catch (InterruptedException | BrokenBarrierException e) {
e.printStackTrace();
}
System.out.println("子线程执行完毕。。。");
}
}).start();
}
}
}
打印结果:
子线程执行
子线程执行
子线程执行
子线程执行
子线程执行
子线程执行完毕。。。
子线程执行完毕。。。
子线程执行完毕。。。
子线程执行完毕。。。
子线程执行完毕。。。