![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发
可爱组长
这个作者很懒,什么都没留下…
展开
-
并发-CountDownLatch、 CyclicBarrier、Semaphore
并发-CountDownLatch、 CyclicBarrier、SemaphoreCountDownLatch1.测试案例2.源码解读CyclicBarrier1.测试案例2.源码阅读Semaphore1.测试案例2.结果显示: CountDownLatch 1.测试案例 package cn.zwc.demo; import java.util.concurrent.CountDownLat...原创 2019-05-13 19:17:49 · 91 阅读 · 0 评论 -
并发-BlockingQueue- 生产者和消费者的一个案例
BlockingQueue 介绍api 介绍 BlockingQueue 是一个先进先出的队列(Queue),为什么说是阻塞(Blocking)的呢? 是因为 BlockingQueue 支持当获取队列元素但是队列为空时,会阻塞等待队列中有元素再返回; 也支持添加元素时,如果队列已满,那么等到队列可以放入新元素时再放入 BlockingQueue 是一个接口,继承自 Queue,所以其实现类也...原创 2019-05-13 11:57:30 · 139 阅读 · 0 评论 -
并发-ConcurrentLinkedQueue-源码解读
介绍 在并发编程中,我们可能经常需要用到线程安全的队列,java为此提供了两种模式的队列:阻塞队列和非阻塞队列。 阻塞队列和非阻塞队列如何实现线程安全? 1. 阻塞队列可以用一个锁(入队和出队共享一把锁)或者两个锁(入队使用一把锁,出队使用一把锁)来实现线程安全,JDK中典型的实现是BlockingQueue; 2.非阻塞队列可以用循环CAS的方式来保证数据的一致性,来达到线程安全的目的。 接下...原创 2019-05-13 15:18:37 · 147 阅读 · 0 评论