CyclicBarrier
来源:互联网 发布:求职简历邮件正文知乎 编辑:程序博客网 时间:2024/06/06 16:37
CyclicBarrier的await方法会阻塞当前线程,只有当被阻塞的线程数达到了CyclicBarrier初始化的线程数时,才会同一时间唤醒所有线程。
1、需要一个任务类
public class CyclicBarrierTask implements Runnable { private CyclicBarrier cyclicBarrier; private String name; private long rest; public CyclicBarrierTask(CyclicBarrier cyclicBarrier, String name, long rest) { this.cyclicBarrier = cyclicBarrier; this.name = name; this.rest = rest; } @Override public void run() { try { Thread.sleep(rest); cyclicBarrier.await(); } catch (InterruptedException e) { e.printStackTrace(); } catch (BrokenBarrierException e) { e.printStackTrace(); } System.out.println("我是" + name + ", 当前时间" + System.currentTimeMillis()); }}
public class CyclicBarrierClient { public static void main(String[] args) { CyclicBarrier barrier = new CyclicBarrier(4); new Thread(new CyclicBarrierTask(barrier, "张三", 2000)).start(); new Thread(new CyclicBarrierTask(barrier, "李四", 3000)).start(); new Thread(new CyclicBarrierTask(barrier, "王五", 1000)).start(); new Thread(new CyclicBarrierTask(barrier, "刘二", 6000)).start(); }}
我是刘二, 当前时间1506274029403
我是王五, 当前时间1506274029403
我是张三, 当前时间1506274029404
我是李四, 当前时间1506274029404
阅读全文
1 0
- cyclicBarrier
- CyclicBarrier
- CyclicBarrier
- CyclicBarrier
- CyclicBarrier
- CyclicBarrier
- CyclicBarrier
- CyclicBarrier
- CyclicBarrier
- CyclicBarrier
- cyclicBarrier
- CyclicBarrier
- CyclicBarrier
- CyclicBarrier
- CyclicBarrier
- CyclicBarrier
- CyclicBarrier
- CyclicBarrier
- 今日头条各种套路玩法
- WPF/UWP 绑定中的 UpdateSourceTrigger
- Servlet——了解Java Servlet技术
- MHN开源蜜罐安装踩坑以及golang升级
- 86. Partition List
- CyclicBarrier
- hadoop能用到的系统端口
- 记录一个ByteBuffer在多线程下存取的简单应用
- 小四旋翼无人机学习日记(一)
- Python3从入门到放弃
- 接上文,终于解决了mamp安装扩展的问题.
- ssh中难理解的问题总结(一)-关于hibernate中的sessionFactory与http中的session
- 链表中倒数第k个结点
- JSP——了解Jsp技术