CyclicBarrier和CountDownLatch区别
来源:互联网 发布:ios虚拟定位软件下载 编辑:程序博客网 时间:2024/06/05 14:56
这两天写多线程时,用到了CyclicBarrier,下意识的认为CyclicBarrier和CountDownLatch作用很像,就翻阅资料查了一下,说一下他们的区别吧
CyclicBarrier和CountDownLatch 都位于java.util.concurrent 这个包下
一、CountDownLatch用法
CountDownLatch类只提供了一个构造器:
然后下面这3个方法是CountDownLatch类中最重要的方法:
CountDownLatch, 一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。
输出结果:
id:1
线程组任务1结束,其他任务继续
id:0
线程组任务0结束,其他任务继续
id:2
线程组任务2结束,其他任务继续
id:3
线程组任务3结束,其他任务继续
id:4
线程组任务4结束,其他任务继续
线程执行结束。。。。
线程在countDown()之后,会继续执行自己的任务,而CyclicBarrier会在所有线程任务结束之后,才会进行后续任务,具体可以看下面例子。
二、CyclicBarrier用法
CyclicBarrier提供2个构造器:
参数parties指让多少个线程或者任务等待至barrier状态;参数barrierAction为当这些线程都达到barrier状态时会执行的内容。CyclicBarrier中最重要的方法就是await方法
举例说明
输出结果:
id:1
id:2
id:4
id:0
id:3
线程组执行结束
线程组任务3结束,其他任务继续
线程组任务1结束,其他任务继续
线程组任务4结束,其他任务继续
线程组任务0结束,其他任务继续
线程组任务2结束,其他任务继续
阅读全文
0 0
- CyclicBarrier和CountDownLatch区别
- CyclicBarrier和CountDownLatch区别
- CyclicBarrier和CountDownLatch区别
- CyclicBarrier和CountDownLatch区别
- CountDownLatch和CyclicBarrier的区别
- CountDownLatch和CyclicBarrier的区别
- CountDownLatch和CyclicBarrier的区别
- CountDownLatch和CyclicBarrier的区别
- CountDownLatch和CyclicBarrier的区别
- CountDownLatch和CyclicBarrier的区别
- CountDownLatch和CyclicBarrier的区别
- CountDownLatch、CyclicBarrier和Semaphore区别
- CountDownLatch和CyclicBarrier的区别
- CountDownLatch和CyclicBarrier的区别
- CountDownLatch和CyclicBarrier的区别
- CyclicBarrier和CountDownLatch的区别
- CyclicBarrier和CountDownLatch的区别
- CountDownLatch和CyclicBarrier的区别
- Ubuntu 14和16安装完后需要进行的操作
- CCF 1030 角谷猜想 冰雹猜想
- Android开发根据Json直接生成Java Bean方法总结
- Android Studio导入android源码
- 题目_数列有序
- CyclicBarrier和CountDownLatch区别
- 设计模式学习:工厂模式
- sdnu-并查集&图论-weeklyexam ——C
- git
- Windows10内置Linux子系统初体验
- 标准化与归一化
- C++ primer 8.3.2节练习(有关ostringstream清空的问题)
- 无Python环境变量python正常使用
- IPv6终于要取代IPv4了!阿里云将全面提供IPv6服务