阻塞队列
黑洞刺客
这个作者很懒,什么都没留下…
展开
-
Guava之EventBus实战
EventBus是Guava的事件处理机制,是设计模式中的观察者模式(生产/消费者编程模型)的优雅实现。对于事件监听和发布订阅模式,EventBus是一个非常优雅和简单解决方案,我们不用创建复杂的类和接口层次结构。定义EventBus@Configurationpublic class EventBusConfig { @Autowired private Applic...原创 2020-04-30 15:29:07 · 433 阅读 · 0 评论 -
java阻塞队列之SychronousQueue
SynchronousQueue原理详解-公平模式https://www.cnblogs.com/dwlsxj/p/Thread.htmlSynchronousQueue原理详解-非公平模式https://www.cnblogs.com/dwlsxj/p/synchronousqueue-unfair-pattern.html转载 2020-01-01 17:19:54 · 353 阅读 · 0 评论 -
java阻塞队列之LinkedBlockingQueue
LinkedBlockingQueue简介①LinkedBlockingQueue底层数据结构单向链表②获取元素按照FIFO原则③头尾通过独立的锁来控制并发④可以构建时指定容量,默认为Integer.MAX_VALUE,无界队列,使用时注意内存溢出问题!LinkedBlockingQueue内部属性// 链表结点结构static class Node<E> {...原创 2019-12-30 15:18:36 · 295 阅读 · 0 评论 -
java阻塞队列之LinkedTransferDeque
LinkedBlockingDeque是一种支持双向并发的阻塞队列。LinkedBlockingDeque特性1.底层数据结构双向链表。2.同时支持FIFO和FILO,从队列的头和尾同时操作(插入/删除)。3.线程安全,使用重入锁ReentrantLock和两个Condition来控制并发。4.容量可选(防止过度膨胀),即可以指定队列的容量。如果不指定,默认容量大小等于Integer.MA...原创 2019-12-27 11:04:26 · 156 阅读 · 0 评论 -
java阻塞队列之LinkedTransferQueue
https://segmentfault.com/a/1190000016460411?utm_medium=referral&utm_source=tuicool转载 2019-12-23 11:15:33 · 109 阅读 · 0 评论 -
java阻塞队列之DelayQueue
DelayQueue简介一个支持延时获取元素的无界阻塞队列。里面的元素全部都是“可延期”的元素,列头的元素是最先“到期”的元素,如果队列里面没有元素到期,是不能从列头获取元素的,哪怕有元素也不行。也就是说只有在延迟期到时才能够从队列中取元素。DelayQueue使用场景1.清掉缓存中超时的数据2.超时任务处理DelayQueue特性1.使用重入锁ReentrantLock和avail...原创 2019-12-20 17:41:42 · 200 阅读 · 0 评论 -
java阻塞队列之PriorityBlockingQueue
PriorityBlockingQueue简介它是一个数组实现的带优先级无阻塞队列并发安全队列。PriorityBlockingQueue的特性1.PriorityBlockingQueue内部是一个数组queue,但是其实数据结构是使用数组实现的一个最小堆,压入队列时需要计算最小堆,弹出队列时需要重新调整根节点。2.带优先级的队列(带排序功能)。3.无界队列,默认队列大小为11,当队列满...原创 2019-12-19 22:26:03 · 540 阅读 · 0 评论 -
java阻塞队列之ArrayBlockingQueue
ArrayBlockingQueue简介它是 BlockingQueue 接口的有界队列实现类,底层采用数组来实现。ArrayBlockingQueue的特性1.其并发控制采用可重入锁来控制,不管是插入操作还是读取操作,都需要获取到锁才能进行操作,它采用一个 ReentrantLock 和相应的两个Condition来实现。2.采用FIFO的原则对元素进行排序添加3.既然是有界,它在示...原创 2019-12-19 23:04:02 · 277 阅读 · 0 评论