阻塞队列
public interface BlockingQueue extends Queue{…}
BlockingQueue 下面有 6 种最主要的实现,分别是 ArrayBlockingQueue、LinkedBlockingQueue、SynchronousQueue、DelayQueue、PriorityBlockingQueue 和 LinkedTransferQueue
take方法
获取并移除队列的头结点
一旦执行 take 方法的时候,队列里无数据,则阻塞,直到队列里有数据。一旦队列里有数据了,就会立刻解除阻塞状态,并且取到数据
pull方法
插入元素
如果队列已满,那么就无法继续插入,则阻塞,直到队列里有了空闲空间
无界队列 LinkedBlockingQueue
有界队列 ArrayBlockingQueue
BlockingQueue 中最常用的和添加、删除相关的 8 个方法
1、抛出异常:add、remove、element
2、返回结果但不抛出异常:offer、poll、peek
3、阻塞:put、take
add<