JUC辅助类

121 阅读1分钟

CountDownLatch

例子:六位同学都离开,班长才关门

//设置初始值
  CountDownLatch c =new CountDownLatch(6);
 //-1 
  c.countDown();
 //等待 c没减到0一直等待
 c.await(); 

CyclicBarrier

//设置栅栏数

CyclicBarrier c = new CyclicBarrier(4, () -> {
    System.out.println(1);
});

//c.await方法进入等待,当等待的线程数等于设置的栅栏数 执行 上面()->{sout(1)}的代码
c.await();

Semaphore

image.png

image.png