文档章节

在集合点的同步 CyclicBarrier

C
 Canaan_
发布于 08/11 00:31
字数 471
阅读 0
收藏 0

它允许两个或者多个线程在某个点上进行同步。这个类与CountDownLatch类似但也有不同,使之成为更加大的类

1.它使用一个整数进行初始化,这个数是需要在某个点上同步的线程数。当一个线程到达
指定的点后,它将调用await()等待其他线程。当线程调用await()方法后,
CyslicBarrier类将阻塞这个线程并使之休眠直到所有其他线程到达。当最后一个
线程调用CyslicBarrier类的await()时,CyslicBarrier对象将唤醒所有在等待的线程,
然后这些线程将继续执行。

2.CyslicBarrier它可以 传入另一个Runbale对象作为初始化参数。当所有线程
都到达集合点后,CyslicBarrier类将这个Runable对象作为线程执行。

3.CyslicBarrier.getNumberWaiting() 返回在await()上阻塞的线程数目,
4.CyslicBarrier.getParties()  返回被CyslicBarrier 对象同步的任务数。

5.重置 CyslicBarrier

rest()方法提供重置,当重置发生后,在await()方法中等待的纯种将收到一个
BrokenBarrierException异常。

6.损坏CyslicBarrier

CyslicBarrier 对象有一种特殊的状态即损坏状态(Broken)。当线程在await()
方法上等待的时候,如果其中一个线程被中断,这个线程将抛出InterruptedException
异常,其他的等待线程将抛出BrokenBarrierException异常,于是CyslicBarrier对象
就处于损坏状态了。
CyslicBarrier.isBroken()方法可以 判断,ture为损坏

 

《摘自-java7并发编程实战》

© 著作权归作者所有

共有 人打赏支持
C
粉丝 17
博文 296
码字总数 128442
作品 0
福州
Java并发编程中级篇(四):使用CyclicBarrier实现并发线程在集合点同步

上一节讲到了CountDownLatch这个并发辅助类,它能够让一个线程等待其他并发线程执行完一组任务后再继续执行,也可以说是实现了并发线程在集合点同步。但是Java又给出了一个更强大的并发辅助类...

阿拉德大陆的魔法师
2016/11/26
52
0
java并发之同步辅助类CyclicBarrier

CyclicBarrier含义: 栅栏允许两个或者多个线程在某个集合点同步。当一个线程到达集合点时,它将调用await()方法等待其它的线程。线程调用await()方法后,CyclicBarrier将阻塞这个线程并将它...

happyhuangjinjin
03/18
0
0
用栅栏(CyclicBarrier)实现高并发测试

CyclicBarrier 含义 栅栏允许两个或者多个线程在某个集合点同步。当一个线程到达集合点时,它将调用await()方法等待其它的线程。线程调用await()方法后,CyclicBarrier将阻塞这个线程并将它置...

harries
07/10
0
0
同步工具类:CountDownLatch、CyclicBarrier和Exchanger

CountDownLatch 1.1说明: CountDownLatch可以理解为一个计数器在初始化时设置初始值,当一个线程需要等待某些操作先完成时,需要调用await()方法。这个方法让线程进入休眠状态直到等待的所有...

moonlightX
07/28
0
0
Java编程的逻辑 -- 并发章 -- 线程的基本协作机制

线程的基本协作 线程的基本协作示例 总结 线程的基本协作 多线程间除了竞争访问同一资源外,也经常需要相互协作的去执行一些任务。而对于协作的基本机制用的最多的无疑是wait/notify。 协作的...

HikariCP
06/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

webSocket前台实现

webSocket前台实现 简单实现: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="application/javascript" src="js/base64.js"></script......

Airship
9分钟前
0
0
从零到一,使用实时音视频 SDK 一起开发一款 Zoom 吧

zoom(zoom.us) 是一款受到广泛使用的在线会议软件。相信各位一定在办公、会议、聊天等各种场景下体验或者使用过,作为一款成熟的商业软件,zoom 提供了稳定的实时音视频通话质量,以及白板、...

七牛云
10分钟前
0
0
Linux学习-10月16

9.1 正则介绍_grep 9.2 grep中 9.3 grep下 一、什么是正则 正则就是一串有规律的字符串,包括各种特殊符号 掌握正则对于编写shell有很大帮助 各种编程中都有正则,原理是一样的 二、grep简介...

wxy丶
17分钟前
0
0
设计模式学习与应用——单例模式

单例模式 作用:一个类只有一个实例,并且提供访问该实例的全局访问点 创建方式 1.懒汉方式 public class Singleton{//使外部无法访问这个变量,而要使用公共方法来获取private static ...

隔壁老余在这
26分钟前
0
0
亿级爆款背后,网易云音乐的生长之道

两年时间,破亿;四年时间,破4亿…… 据国内知名移动大数据监测平台Trustdata发布的《2017年下半年中国移动互联网发展分析报告》显示,2017年12月,网易云音乐MAU同比增长达43.1%,是移动音...

安卓绿色联盟
29分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部