package com.zhangye;
import java.util.concurrent.CyclicBarrier;
public class CyclicBarrierDemo {
public static void main(String[] args) {
CyclicBarrier cyclicBarrier = new CyclicBarrier(7, ()->{System.out.println("***********召唤神龙");});
for (int i = 1; i <= 7; i++) {
final int tempInt = i;
new Thread(()->{
System.out.println(Thread.currentThread().getName()+"\t 收集到了第"+tempInt+"颗龙珠");
try {
cyclicBarrier.await();
} catch (Exception e) {
e.printStackTrace();
}
},String.valueOf(i)).start();
}
}
}
打印结果
1 收集到了第1颗龙珠
2 收集到了第2颗龙珠
3 收集到了第3颗龙珠
5 收集到了第5颗龙珠
4 收集到了第4颗龙珠
6 收集到了第6颗龙珠
7 收集到了第7颗龙珠
***********召唤神龙