首页
留言板  登录   写笔记 
登录
我的随笔
我的收藏
扫码加群

请先登录
CyclicBarrier 等待线程准备好后同时开始例子
 23   0   0  2020-01-07 23: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备18099399号-2
热门分类