摘要: 生产环境中,存在需要等待多个线程都达到某种状态后,才继续运行的情景。并发工具CyclicBarrier就能够完成这种功能。本篇从源码方面,简要分析CyclicBarrier的实现原理。 使用示例 执行结果如下: 可以看到线程1,2,3在同一个时间结束。 源码分析 主要成员: CyclicBarrie 阅读全文
posted @ 2019-02-16 22:27 阳光、大地和诗歌 阅读(1222) 评论(0) 推荐(0) 编辑
摘要: Object类中的wait(),notify()和notifyAll()可以实现线程的等待通知模型,同样在ReentrantLock中可以借助Condition来完成这种机制。本篇就简要介绍Condition的工作原理。 先看一下Condition的使用示例: 这段代码的输出为: 等待时间大概为10 阅读全文
posted @ 2019-02-16 11:37 阳光、大地和诗歌 阅读(512) 评论(0) 推荐(0) 编辑