多线程辅助类之CyclicBarrier(四)
来源:互联网 发布:xcode怎么编写python 编辑:程序博客网 时间:2024/05/30 23:01
CyclicBarrier是一个线程辅助类,和《多线程辅助类之CountDownLatch(三)》功能类似,都可以实现一组线程的相互等待。要说不通点,那就是CyclicBarrier在释放等待线程后可以重用,所以称它为循环 的 barrier。具体说明参照API,此处上代码:
package face.thread.CountDownLatch;import java.text.SimpleDateFormat;import java.util.Date;import java.util.concurrent.BrokenBarrierException;import java.util.concurrent.CyclicBarrier;public class CyclicBarrierDemo1 {public static void main(String[] args) {final SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); final CyclicBarrier start = new CyclicBarrier(3,new Runnable() {public void run() {try {System.out.println("准备就绪!");Thread.sleep(1000);System.out.println("开始执行!");} catch (InterruptedException e) {e.printStackTrace();}}});final CyclicBarrier end = new CyclicBarrier(3,new Runnable() {public void run() {System.out.println("------执行完毕-----!");}});for(int i = 0; i < 3;i++){new Thread(new Runnable() {public void run() { try {Thread.sleep(1000);System.out.println(Thread.currentThread().getName() +"运动员准备就绪," + sdf.format(new Date()));start.await();Thread.sleep(1000);System.out.println(Thread.currentThread().getName() +"运动员结束比赛," + sdf.format(new Date()));end.await();} catch (InterruptedException e) {e.printStackTrace();} catch (BrokenBarrierException e) {e.printStackTrace();}}}).start();}}}
0 0
- 多线程辅助类之CyclicBarrier(四)
- java多线程:12、CyclicBarrier同步辅助类
- 线程辅助类(四)--CyclicBarrier
- 两个重要的多线程辅助类之CyclicBarrier和CountDownLatch的用法
- java多线程 栅栏(CyclicBarrier) 和 多线程辅助类 CountDownLatch
- 同步辅助类CyclicBarrier
- java 多线程同步辅助类(CountDownLatch、CyclicBarrier、Semaphore、Exchanger)
- 并发编程实战手册-线程同步辅助类之CyclicBarrier
- Java并发编程-同步辅助类之CyclicBarrier
- CyclicBarrier -- 同步辅助类2
- Java多线程之~~~CyclicBarrier 类的使用
- java多线程之CyclicBarrier类基本用法
- Java多线程之CyclicBarrier
- Java多线程之CyclicBarrier
- JAVA多线程之CyclicBarrier
- Java多线程之CyclicBarrier
- Java多线程之CyclicBarrier
- Java多线程之----CyclicBarrier
- 委托适配
- ConcurrentLinkedQueue详解
- 遗传算法
- MapReduce编程模型
- Skia绘制代码分析
- 多线程辅助类之CyclicBarrier(四)
- 更改EclipseEE下Tomcat的部署目录
- 【拓展欧几里得求逆元】51nod1256 51nod1119 Light1067
- HDU 2565 放大的X
- 主成分分析代码实现
- C语言栈的演示(入栈,弹栈,遍历)
- 深入理解Python中的基本数据类型
- 初识protobuf(java)
- ~数值的整数次方~