JUC 辅助类 CyclicBarrier 循环栅栏
一、用法
当数量达到 定义的值,执行CyclicBarrier里面的内容
二、语法
1、定义对象
CyclicBarrier cyclicBarrier =
new CyclicBarrier(NEED_NUM, Runnable);
2、在线程中使用await()方法
三、案例
package com.wt.juc; import java.util.concurrent.BrokenBarrierException; import java.util.concurrent.CyclicBarrier; public class CyclicBarrierDemon { // 1. 数量定义7次 private final static int NEED_NUM = 7; public static void main(String[] args) { // 2.定义CyclicBarrier对象 CyclicBarrier cyclicBarrier = new CyclicBarrier(NEED_NUM, () -> { System.out.println("*****收集完成"); }); for (int i = 0; i < 7; i++) { new Thread(()->{ try { System.out.println(Thread.currentThread().getName()+"被收集"); // 3.线程执行7次后,执行 cyclicBarrier里面的内容 cyclicBarrier.await(); } catch (Exception e) { e.printStackTrace(); } }, String.valueOf(i)).start(); } } }

浙公网安备 33010602011771号