Phaser铁人三项
2024-09-01 19:27:00
/**
* 模拟铁人三项
*/
public class PhaserTest { private static Random random = new Random(System.currentTimeMillis()); public static void main(String[] args) { Phaser phaser = new Phaser();
for (int i = ; i < ; i++) {
new Sportsman(i, phaser).start();
}
new InjuredSportsman(, phaser).start(); } static class InjuredSportsman extends Thread { private int no;
private Phaser phaser; InjuredSportsman(int no, Phaser phaser) {
this.no = no;
this.phaser = phaser;
} @Override
public void run() {
try {
sport(no, phaser, " starts running ", " ends running ");
sport(no, phaser, " starts bicycle ", " ends bicycle");
System.out.println("I'm injured , i will be exit");
phaser.arriveAndDeregister(); } catch (InterruptedException e) {
e.printStackTrace();
} }
} static class Sportsman extends Thread { private int no;
private Phaser phaser; Sportsman(int no, Phaser phaser) {
this.no = no;
this.phaser = phaser;
} @Override
public void run() {
try {
sport(no, phaser, " starts running ", " ends running ");
sport(no, phaser, " starts bicycle ", " ends bicycle");
sport(no, phaser, " starts long jump ", " ends long jump "); } catch (InterruptedException e) {
e.printStackTrace();
} }
} private static void sport(int no, Phaser phaser, String s, String s2) throws InterruptedException {
System.out.println(no + s);
Thread.sleep(random.nextInt());
System.out.println(no + s2);
phaser.arriveAndAwaitAdvance();
}
}
最新文章
- [Java]使用HttpClient实现一个简单爬虫,抓取煎蛋妹子图
- socket.io,远程控制你的幻灯片
- Android webView打不开网页的解决办法
- Mysqldump参数大全
- LightOJ 1370 - Bi-shoe and Phi-shoe (欧拉函数思想)
- clrscr( )用法
- poj2186 Popular Cows(强连通)
- mysql binaryVInstall
- Android学习之旅-android系统服务的启动过程以及分类(90)
- Jmeter 性能测试术语
- css----transition的应用,产生动画效果。
- 11076: 小P的集合 位运算
- Linux 删除用户,用户主目录
- postcss那些事儿
- 【机器学习算法-python实现】採样算法的简单实现
- jenkins + nodejs + git 自动化部署前端
- HanLP中人名识别分析详解
- TCP/IP学习20180625-DNS
- FortiGate基本信息
- 关于Unity中混合模式、Alpha测试、深度测试、通道遮罩、面剔除的使用----渲染通道通用指令(二)