首页
登录    写博文 
登录
我的博客
我的收藏
CyclicBarrier 等待线程准备好后同时开始例子
 0   0   0  2020-01-07 11:06:13
  1. public class CyclicBarrierTest {
  2. // 自定义工作线程
  3. private static class Worker extends Thread {
  4. private CyclicBarrier cyclicBarrier;
  5. public Worker(CyclicBarrier cyclicBarrier) {
  6. this.cyclicBarrier = cyclicBarrier;
  7. }
  8. @Override
  9. public void run() {
  10. super.run();
  11. try {
  12. System.out.println(Thread.currentThread().getName() + "开始等待其他线程");
  13. cyclicBarrier.await();
  14. System.out.println(Thread.currentThread().getName() + "开始执行");
  15. // 工作线程开始处理,这里用Thread.sleep()来模拟业务处理
  16. Thread.sleep(1000);
  17. System.out.println(Thread.currentThread().getName() + "执行完毕");
  18. } catch (Exception e) {
  19. e.printStackTrace();
  20. }
  21. }
  22. }
  23. public static void main(String[] args) {
  24. int threadCount = 3;
  25. CyclicBarrier cyclicBarrier = new CyclicBarrier(threadCount);
  26. for (int i = 0; i < threadCount; i++) {
  27. System.out.println("创建工作线程" + i);
  28. Worker worker = new Worker(cyclicBarrier);
  29. worker.start();
  30. }
  31. }
  32. }
 
0
留言
登录博客到个人信息里绑定邮箱可及时收到回复哦!去绑定
正在加载...
有疑问发邮件到:suibibk@qq.com
Copyright :  随笔博客     备案号:粤ICP备17055068