java多线程之Phaser
来源:互联网 发布:金融网络销售怎么做的 编辑:程序博客网 时间:2024/06/11 01:55
简介
java多线程技术提供了Phaser工具类,Phaser表示“阶段器”,用来解决控制多个线程分阶段共同完成任务的情景问题。其作用相比CountDownLatch和CyclicBarrier更加灵活,例如有这样的一个题目:5个学生一起参加考试,一共有三道题,要求所有学生到齐才能开始考试,全部同学都做完第一题,学生才能继续做第二题,全部学生做完了第二题,才能做第三题,所有学生都做完的第三题,考试才结束。分析这个题目:这是一个多线程(5个学生)分阶段问题(考试考试、第一题做完、第二题做完、第三题做完),所以很适合用Phaser解决这个问题。
实现代码
结果
Student 0到达考试Student 1到达考试
Student 4到达考试
Student 2到达考试
Student 3到达考试
学生准备好了5
Student 2做第1题时间...
Student 0做第1题时间...
Student 1做第1题时间...
Student 4做第1题时间...
Student 3做第1题时间...
Student 2做第1题完成...
Student 3做第1题完成...
Student 1做第1题完成...
Student 0做第1题完成...
Student 4做第1题完成...
第一题所有学生做完
Student 3做第2题时间...
Student 0做第2题时间...
Student 4做第2题时间...
Student 1做第2题时间...
Student 2做第2题时间...
Student 3做第2题完成...
Student 2做第2题完成...
Stud ent 0做第2题完成...
Student 1做第2题完成...
Student 4做第2题完成...
第二题所有学生做完
Student 0做第3题时间...
Student 3做第3题时间...
Student 2做第3题时间...
Student 4做第3题时间...
Student 1做第3题时间...
Student 1做第3题完成...
Student 0做第3题完成...
Student 2做第3题完成...
Student 3做第3题完成...
Student 4做第3题完成...
第三题所有学生做完,结束考试
Phaser has finished:true
阅读全文
0 0
- Java多线程之----Phaser
- java多线程之Phaser
- java多线程之Phaser
- (十一)java多线程之Phaser
- Java多线程之~~~Phaser重写onAdvance方法
- 多线程之Phaser
- Java多线程之~~~Phaser类实现任务的同步
- Java线程之Phaser
- Java线程之Phaser
- Java多线程--“阶段器”Phaser
- java Phaser
- Java并发之CyclicBarrier、CountDownLatch、Phaser
- Phaser 多线程通信
- Java并发编程-同步辅助类之Phaser
- Java并发编程-同步辅助类之Phaser
- Java线程:Phaser
- Phaser
- Phaser
- jdk与cxf的开发webservice客户端
- QML之动态加载
- Tensorflow实战学习(七)【Tensor、Graph、Op、Variable、占位符、Session、名称作用域、Board综合例子】
- Kubernetes部署记录
- Tensorflow实战学习(八)【机器学习基础 线性回归】
- java多线程之Phaser
- Tensorflow实战学习(九)【对数几率回归】
- Tensorflow实战学习(十四)【卷积层、激活函数、池化层、归一化层、高级层】
- spring boot + redis4.0.2 详细案例
- Tensorflow实战学习(十)【softmax分类】
- Tensorflow实战学习(十一)【多层神经网络】
- LVM
- C和指针之字符串strspn、strcspn函数源代码的实现
- Tensorflow实战学习(十二)【卷积网络简述】