Java阻塞队列
晨初听雨
这个作者很懒,什么都没留下…
展开
-
ArrayBlockingQueue源码分析JDK1.8
1.ArrayBlockingQueue概述 基于数组的阻塞队列实现,在ArrayBlockingQueue内部,维护了一个定长数组,以便缓存队列中的数据对象,这是一个常用的阻塞队列,除了一个定长数组外,ArrayBlockingQueue内部还保存着两个整形变量,分别标识着队列的头部和尾部在数组中的位置。 ArrayBlockingQueue在生产者放入数据和消费者获取数据...原创 2019-04-11 22:32:24 · 178 阅读 · 0 评论 -
LinkedBlockQueue源码解析JDK1.8
1.LinkedBlockQueue概述基于链表的阻塞队列,同ArrayListBlockingQueue类似,其内部也维持着一个数据缓冲队列(该队列由一个链表构成),当生产者往队列中放入一个数据时,队列会从生产者手中获取数据,并缓存在队列内部,而生产者立即返回;只有当队列缓冲区达到最大值缓存容量时(LinkedBlockingQueue可以通过构造函数指定该值),才会阻塞生产者队列,直到消费...原创 2019-04-14 14:32:27 · 932 阅读 · 0 评论 -
Java并发之阻塞队列
1.什么是阻塞队列?他和普通队列之间的区别?阻塞队列与普通队列的区别在于当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操作会被阻塞。试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其他的线程往空的队列插入新的元素。同样,试图往已满的阻塞队列中添加新元素的线程同样也会被阻塞,直到其他的线程使队列重新变得空闲起来,如从队列中移除一个或者多个元素,或者完全清...原创 2019-04-14 14:54:40 · 203 阅读 · 0 评论 -
PriorityBlockingQueue源码分析JDK1.8
1.PriorityBlockingQueue概述1.1PriorityBlockingQueue 能解决什么问题?什么时候使用 PriorityBlockingQueue?PriorityBlockingQueue 是基于优先级堆实现的线程安全的、无界、优先级、阻塞队列。 队列的元素按照其自然顺序进行排序,或者根据构造队列时提供的 Comparator 进行排序。 在并发场景下,需要...原创 2019-04-24 17:23:00 · 224 阅读 · 0 评论