java.util.concurrent.CyclicBarrier;
2019独角兽企业重金招聘Python工程师标准>>>
每个线程代表一个赛跑运动员,当所有的赛跑运动员都准备好了,才一起出发,只要有一个没有准备好,大家都要等待着。
package cm.concurrent;import java.util.Random;
import java.util.concurrent.BrokenBarrierException;
import java.util.concurrent.CyclicBarrier;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;public class UseCyclicBarrier {static class Runner implements Runnable{private CyclicBarrier barrier;private String name;public Runner(CyclicBarrier barrier, String name) {this.barrier = barrier;this.name = name;}@Overridepublic void run() {try {Thread.sleep(new Random().nextInt(5));System.out.println(name+"准备就绪.....");barrier.await();} catch (InterruptedException e) {e.printStackTrace();} catch (BrokenBarrierException e) {e.printStackTrace();}System.out.println(name+"Go!!!!!");}} public static void main(String[] args) {//准备的次数3次,如果没有达到,会一直处于阻塞状态。CyclicBarrier barrier=new CyclicBarrier(3);ExecutorService executor=Executors.newFixedThreadPool(3);executor.submit(new Thread(new Runner(barrier, "z3")));executor.submit(new Thread(new Runner(barrier, "l4")));executor.submit(new Thread(new Runner(barrier, "w5")));executor.shutdown();}
}
转载于:https://my.oschina.net/2286252881/blog/863090
java.util.concurrent.CyclicBarrier;相关推荐
- 聊聊高并发(三十)解析java.util.concurrent各个组件(十二) 理解CyclicBarrier栅栏
这篇讲讲CyclicBarrier栅栏,从它的名字可以看出,它是可循环使用的.它的功能和CountDownLatch类似,也是让一组线程等待,然后一起开始往下执行.但是两者还是有几个区别 1. 等待的 ...
- java.util.concurrent包API学习笔记
newFixedThreadPool 创建一个固定大小的线程池. shutdown():用于关闭启动线程,如果不调用该语句,jvm不会关闭. awaitTermination():用于等待子线程结束, ...
- Java并发编程-并发工具包(java.util.concurrent)使用指南(全)
1. java.util.concurrent - Java 并发工具包 Java 5 添加了一个新的包到 Java 平台,java.util.concurrent 包.这个包包含有一系列能够让 Ja ...
- Java并发编程-并发工具包java.util.concurrent使用指南
译序 本指南根据 Jakob Jenkov 最新博客翻译,请随时关注博客更新 本指南已做成中英文对照阅读版的 pdf 文档,有兴趣的朋友可以去 Java并发工具包java.util.concurren ...
- java.util.concurrent 包下面的所有类
java.util.concurrent 包下面的所有类 原子操作数类: java.util.concurrent.atomic.AtomicBoolean.class java.util.concu ...
- java多线程学习-java.util.concurrent详解
http://janeky.iteye.com/category/124727 java多线程学习-java.util.concurrent详解(一) Latch/Barrier 博客分类: java ...
- java.util.concurrent 编程范例
http://kanglecjr.iteye.com/blog/1070934 java.util.concurrent 范例之一 博客分类: Java JavaTomcatthread java.u ...
- 使用java.util.concurrent包处理多线程
出处:http://blog.csdn.net/hjl_168562/article/details/8158023 1.使用拥有固定的线程数的线程池执行线程任务 package com.justin ...
- java多线程学习-java.util.concurrent详解(一) Latch/Barrier
2019独角兽企业重金招聘Python工程师标准>>> Java1.5提供了一个非常高效实用的多线程包:java.util.concurrent, 提供了大量高级工具,可以帮助开发者 ...
最新文章
- 中国象棋人机博弈程序(扁平化棋局) C语言实现
- 盘点大数据生态圈,那些繁花似锦的开源项目
- OpenGL基于PBR的图像的光照IBL的实例
- 《数据库原理与应用》(第三版)第11章 存储过程和触发器 基础 习题参考答案
- 多库共存 包装集的问题 点击按钮创建一个p 几个属性介绍 jQuery的插件
- MySQL 如何实现 Oracle 的 row_number() over() 分组排序功能
- android炫酷叼ui,XUI: 一个简洁而优雅的Android原生UI框架,解放你的双手!
- NFrog[NHibernate代码工具]发布第一个版本
- 微信小程序php签到功能,微信小程序签到功能
- 国内自动化测试软件,AutoRunner-国内测试行业专业自动化测试工具成长史
- 浅谈如何保障服务器安全
- 编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary
- MM-Wiki部署方案
- linux jnlp显示异常,使用headless jnlp将slave连接到master时显示异常
- 【跨域】一篇文章彻底解决跨域设置cookie问题!
- 计算机表格按性别排列,excel表格数据男女分类-Excel 按性别(男女)排序
- matlab中欠定方程组超定方程组_学会这些三元一次方程组的解法思路与运用,初中不再怕解方程...
- 不得不看的五个堪称神器的在线网站工具
- 电商平台-商品表的设计
- Merriam-Webster's Vocabulary Builder 学习笔记 Unit 24
热门文章
- Linux终端中设置vi编辑命令
- HDOJ---1257 最少拦截系统[线性DP]+NYOJ---拦截导弹[输出最长单调子序列的长度]
- php lyadmin,index.php
- 计算机及网络应用基础思维导图_计算机基础/算法/面试题 PDF+思维导图下载
- 分享Kali Linux 2017年第17周镜像文件
- python第一单元笔记_Python 初学笔记 - 第一章-列表
- ehcache缓存原理_贼厉害,手撸的 SpringBoot缓存系统,性能杠杠的!
- java中bufferendwriter_Java IO系列(三)Writer
- Linux打过cat没有编码,linux系统 终端下 cat中文乱码/vim不乱码 或者 cat不乱码/vim中文乱码...
- 科学家解码脑信号以控制机器人假肢