![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发编程
文章平均质量分 81
chilx
格物致知
展开
-
并发编程之BlockingQueue
文章目录一、 简介二、BlockingQueue核心方法三、具体实现1、ArrayBlockingQueue2、LinkedBlockingQueue一、 简介BlockingQueue简介首先它一个队列,所以它继承了Queue接口具有队列的特性;其次是一个阻塞队列。我们平时常用的队列只要为一下两种先进先出-FIFO:先插入的数据最先出队列,类似我们排队买东西,先排队的先买先进后出-LIFO:后插入的数据最先出队列,类似我们放羽毛球的球筒,先放进去的最后才能拿出来队列不只有这两种原创 2021-05-08 18:21:58 · 818 阅读 · 0 评论 -
BlockingQueue之LinkedBlockingQueue
文章目录1 核心参数2 构造方法3 核心方法LinkedBlockingQueueLinkedBlockingQueue是一种基于单向链表 的阻塞队列。其队头和队尾分别有两个指针来控制,所以生产者和消费者可以采用独立的锁来控制数据同步,也就意味着在高并发的情况下,生产者和消费者是可以同时操作队列的,从而提高了队列的并发性。 因为生产者和消费者是不同的锁控制的,所以记录队列总数count是一个AtomicInteger的原子变量1 核心参数public class LinkedBlockin原创 2021-05-08 18:18:10 · 769 阅读 · 2 评论 -
BlockingQueue之ArrayBlockingQueue
文章目录1 核心参数2 构造方法3 核心方法ArrayBlockingQueue基于数组的阻塞队列,底层数据结构为定长的数组,实例化的时候必须指定数组的长度1 核心参数public class ArrayBlockingQueue<E> extends AbstractQueue<E> implements BlockingQueue<E>, java.io.Serializable { /** 存储数据的数组 */ fi原创 2021-05-08 18:16:12 · 486 阅读 · 0 评论