797. 什么是阻塞队列?如何使⽤阻塞队列来实现⽣产者-消费者模型?
- JDK7提供了7个阻塞队列。(也属于并发容器)
- ArrayBlockingQueue :⼀个由数组结构组成的有界阻塞队列。
- LinkedBlockingQueue :⼀个由链表结构组成的有界阻塞队列。
- PriorityBlockingQueue :⼀个⽀持优先级排序的⽆界阻塞队列。
- DelayQueue:⼀个使⽤优先级队列实现的⽆界阻塞队列。
- SynchronousQueue:⼀个不存储元素的阻塞队列。
- LinkedTransferQueue:⼀个由链表结构组成的⽆界阻塞队列。
- LinkedBlockingDeque:⼀个由链表结构组成的双向阻塞队列。
- 概念:阻塞队列是⼀个在队列基础上⼜⽀持了两个附加操作的队列。
- 2个附加操作:
⽀持阻塞的插⼊⽅法:队列满时,队列会阻塞插⼊元素的线程,直到队列不满。
⽀持阻塞的移除⽅法:队列空时,获取元素的线程会等待队列变为⾮空。