package thread;
import java.util.concurrent.CyclicBarrier;
public class CyclicBarrierDemo {
public static void main(String[] args) {
CyclicBarrier barrier = new CyclicBarrier(10,new Runnable(){
public void run(){
System.out.println("finished...");
}
});
for(int i=0;i<10;i++){
new Thread(new Work(barrier,i)).start();
}
}
}
class Work implements Runnable{
private CyclicBarrier barrier;
private int i = 0;
public Work(CyclicBarrier barrier,int i){
this.barrier = barrier;
this.i = i;
}
public void run(){
try {
doWork();
barrier.await();
} catch (Exception e) {
e.printStackTrace();
}
}
void doWork() {
System.out.println("working"+i+"......");
}
}
CyclicBarrier一个简单Demo
最新推荐文章于 2024-11-08 17:17:44 发布
本文通过一个具体的 Java 示例介绍了 CyclicBarrier 的使用方法。该示例创建了一个包含 10 个线程的任务,所有线程都必须等待彼此完成工作才能继续执行。当所有线程到达屏障点时,会触发一个任务结束的标志。
206

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



