CyclicBarrier:
用于协调多个线程同步执行的操作场合,所有线程等待完成,然后一起执行
使用方式:
CyclicBarrier barrier = new CyclicBarrier(3);
定义初始数量,线程数必须达到才能执行
代码示例:
public static void main(String[] args) {CyclicBarrier barrier = new CyclicBarrier(3);new Thread(()->{try {Thread.sleep(1000);System.out.println("1就位"+barrier.getNumberWaiting());barrier.await();System.out.println("1开始执行");} catch (InterruptedException e) {throw new RuntimeException(e);} catch (BrokenBarrierException e) {throw new RuntimeException(e);}}).start();new Thread(()->{try {Thread.sleep(3000);System.out.println("2就位"+barrier.getNumberWaiting());barrier.await();System.out.println("2开始执行"