CyclicBarrier的使用

public static void main(String[] args) {
        CyclicBarrier cyclicBarrier = new CyclicBarrier(7,()->{System.out.println("游客集结完毕,出发");});
        for (int i = 0; i < 7; i++) {
            new Thread(()->{
                System.out.println(Thread.currentThread().getName()+"游客已到达");
                try {
                    cyclicBarrier.await();
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (BrokenBarrierException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            },"第"+String.valueOf(i)+"游客已到达").start();
        }
        
    }
}

执行结果:

第1游客已到达游客已到达
第3游客已到达游客已到达
第0游客已到达游客已到达
第2游客已到达游客已到达
第4游客已到达游客已到达
第5游客已到达游客已到达
第6游客已到达游客已到达
游客集结完毕,出发

 

上一篇:对数据库进行增删查改的通用操作


下一篇:代码实现排列组合【Java】