package com.weiyi.study.thread;
import java.util.concurrent.BrokenBarrierException;
import java.util.concurrent.CyclicBarrier;
/**
* @author <a href="mailto:shizi@microants.cn">狮子</a>
* version 1.0.0
* since 1.0.0
*/
public class CyclicBarrierDemo {
public static void main(String[] args) {
CyclicBarrier cyclicBarrier = new CyclicBarrier(7,() ->{
System.out.println("召唤神龙成功");
});
for(int i = 0; i < 7; i++){
final int temp = i;
new Thread(() -> {
System.out.println(Thread.currentThread().getName() + "收集第" + temp + "颗龙珠");
try {
cyclicBarrier.await();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (BrokenBarrierException e) {
e.printStackTrace();
}
}).start();
}
}
}
CyclicBarrier的使用
最新推荐文章于 2024-08-18 10:27:18 发布
本文通过一个趣味性的示例演示了如何使用 Java 的 CyclicBarrier 类来实现多线程间的同步操作。具体场景为收集七颗龙珠后触发神龙召唤的过程。
1442

被折叠的 条评论
为什么被折叠?



