Skip to content

Commit 7e0f6fc

Browse files
committed
CyclicBarrierDemo
1 parent da4d9c5 commit 7e0f6fc

1 file changed

Lines changed: 36 additions & 0 deletions

File tree

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/**
2+
* @program JavaBooks
3+
* @description: CyclicBarrierDemo
4+
* @author: mf
5+
* @create: 2020/02/15 17:21
6+
*/
7+
8+
package com.juc.aqs;
9+
10+
import java.util.concurrent.BrokenBarrierException;
11+
import java.util.concurrent.CyclicBarrier;
12+
13+
public class CyclicBarrierDemo {
14+
public static void main(String[] args) {
15+
cyclicBarrierTest();
16+
}
17+
18+
public static void cyclicBarrierTest() {
19+
CyclicBarrier cyclicBarrier = new CyclicBarrier(7, () -> {
20+
System.out.println("====召唤神龙====");
21+
});
22+
for (int i = 0; i < 7; i++) {
23+
final int tempInt = i;
24+
new Thread(() -> {
25+
System.out.println(Thread.currentThread().getName() + " 收集到第" + tempInt + "颗龙珠");
26+
try {
27+
cyclicBarrier.await();
28+
} catch (InterruptedException e) {
29+
e.printStackTrace();
30+
} catch (BrokenBarrierException e) {
31+
e.printStackTrace();
32+
}
33+
}, "" + i).start();
34+
}
35+
}
36+
}

0 commit comments

Comments
 (0)