![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JUC多线程并发
敷盎方
这个作者很懒,什么都没留下…
展开
-
Semaphore概念及使用场景举例
信号量 Semaphore 是JDK1.5的 java.util.concurrent 并发包中提供的一个并发工具类。 所谓 Semaphore 即 信号量 的意思。 这个叫法并不能很好地表示它的作用,更形象的说法应该是 许可证管理器 。 Semaphore 是一个计数信号量。 从概念上将,Semaphore 包含一组许可证。 如果有需要的话,每个 acquire() 方法都会阻...原创 2020-01-08 14:12:26 · 704 阅读 · 0 评论 -
CyclicBarrier概念及使用场景举例
循环屏障 *——await() 在CyclicBarrier上进行阻塞等待,直到发生以下情形之一: 在CyclicBarrier上等待的线程数量达到parties,则所有线程被释放,继续执行。 当前线程被中断,则抛出InterruptedException异常,并停止等待,继续执行。 其他等待的线程被中断,则当前线程抛出BrokenBarrierException异常,并停止等待,继...原创 2020-01-08 14:09:29 · 260 阅读 · 0 评论 -
CountDownLatch概念及使用场景举例
原理 countDownLatch是在java1.5被引入,跟它一起被引入的工具类还有CyclicBarrier、Semaphore、concurrentHashMap和BlockingQueue。 存在于java.util.cucurrent包下。 countDownLatch这个类使一个线程等待其他线程各自执行完毕后再执行。 是通过一个计数器来实现的,计数器的初始值是线程的数量。每当一个线程执...原创 2020-01-08 14:06:43 · 193 阅读 · 0 评论