zoukankan      html  css  js  c++  java
  • CyclicBarrier

    import java.util.concurrent.BrokenBarrierException;
    import java.util.concurrent.CyclicBarrier;
    
    public class CyclicBarrierDemo {
        public static void main(String[] args) {
            CyclicBarrier cyclicBarrier = new CyclicBarrier(7, () -> {
                System.out.println("****最后实现的线程");
            });
            for (int i = 1; i <=7; i++) {
                final int tempInt = i;
                new Thread(() -> {
                    System.out.println(Thread.currentThread().getName() + "	 执行到: " + tempInt + "线程");
                    try {
                        cyclicBarrier.await();
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    } catch (BrokenBarrierException e) {
                        e.printStackTrace();
                    }
                }, String.valueOf(i)).start();
            }
        }
    }
    

      

    CyclicBarrier:让一组线程到达一个屏障(也可以叫做同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续干活,
    线程进入屏障通过CyclicBarrier的await()方法
  • 相关阅读:
    PS的使用[未完待续]
    Navicat破解方法【很靠谱】
    some blogs
    Linux curl命令详解
    api_automation_mysql
    linux 笔记
    pytest 笔记
    sel+python 基础
    postman 断言
    homebrew note
  • 原文地址:https://www.cnblogs.com/sunliyuan/p/12507516.html
Copyright © 2011-2022 走看看