CyclicBarrier的使用

Posted on 2019-11-03 20:54  FLGB  阅读(124)  评论(0编辑  收藏  举报
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游客已到达游客已到达
游客集结完毕,出发

 

Copyright © 2024 FLGB
Powered by .NET 9.0 on Kubernetes