开发者社区> 问答> 正文

countdowlatch 和 cyclicbarrier 的内部原理和用法,以及相互之间的差别。

countdowlatch 和 cyclicbarrier 的内部原理和用法,以及相互之间的差别。

展开
收起
游客pklijor6gytpx 2019-12-05 15:01:44 1152 0
1 条回答
写回答
取消 提交回答
  • CountDownLatch是一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它运行一个或者多个线程一直处于等待状态。 CyclicBarrier要做的事情是,让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续运行。 CyclicBarrier初始化的时候,设置一个屏障数。线程调用await()方法的时候,这个线程就会被阻塞,当调用await()的线程数量到达屏障数的时候,主线程就会取消所有被阻塞线程的状态。 前者是递减,不可循环,后者是递加,可循环用。 countdowlatch 基于abq cb基于ReentrantLock Condition

    2019-12-05 15:02:05
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
JAVA反射原理以及一些常见的应用 立即下载
fibjs 模块重构从回调到协程--陈垒 立即下载
继承与功能组合 立即下载