博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
十三、栅栏CyclicBarrier
阅读量:5975 次
发布时间:2019-06-20

本文共 1147 字,大约阅读时间需要 3 分钟。

一、简介

栅栏CyclicBarrier的作用就是等待一组线程都准备好了,然后执行某个任务。这与CountDownLatch很相似。

但是CyclicBarrier和CountDownLatch是有区别的:

1)CyclicBarrier可以复用,你可以调用Reset方法重新初始化;CountDownLatch是一次性的。

2)CyclicBarrier是一组线程相互等待,而CountDownLatch是一个或一组线程等待另外一个或者一组线程。

JDK文档:

二、示例

import java.util.concurrent.BrokenBarrierException;import java.util.concurrent.CyclicBarrier;public class CyclicBarrierDemo {    private static CyclicBarrier barrier = new CyclicBarrier(3, new Runnable() {        @Override        public void run() {            System.out.println("全都到齐了");        }    });    public static void main(String[] args) throws InterruptedException {        for (int i = 0; i < 3; i++) {            new Thread(() -> {                try {                    barrier.await();             System.out.println("end await");                } catch (InterruptedException e) {                    e.printStackTrace();                } catch (BrokenBarrierException e) {                    e.printStackTrace();                }            }).start();            System.out.println("启动 i=" + i);            Thread.sleep(1000);        }    }}

 

转载于:https://www.cnblogs.com/lay2017/p/10166460.html

你可能感兴趣的文章
关于泛型类,泛型接口,泛型函数
查看>>
@pathvariable和@RequestParam的区别
查看>>
测试驱动开发
查看>>
C++操作符重载
查看>>
Redis实现分布式锁2
查看>>
【Udacity】线性回归方程 Regression
查看>>
前端架构设计1:代码核心
查看>>
RPC 框架通俗解释 转自知乎(洪春涛)
查看>>
获取cookie后,使用cookie进行接下来的自动化操作
查看>>
算法笔记--数论模板小集(待增)
查看>>
游戏开发中的矩阵初探
查看>>
SASS初学者入门(转)
查看>>
pl/sql developer开发工具的beautifier美化插件
查看>>
C语言100个算法经典例题(七)
查看>>
ASP.NET MVC下使用文件上传和IIS7下的默认设置限制了上传大小的方法
查看>>
java socket报文通信(三)java对象和xml格式文件的相互转换
查看>>
Selenium学习第二天,了解Selenium工作模式与学习Selenium需要具备的知识与工具。...
查看>>
cocos2d: 设置容器透明度及添加UIViewController
查看>>
一次完整的浏览器请求流程
查看>>
Notification弹出实现
查看>>