前言
LinkedBlockingQueue:由链表组成的有界阻塞队列。
源码分析
构造器
提供了三种构造器方法。
插入
add
对已满队列插入元素,会抛出IllegalStateException异常。
offer
插入元素成功,则返回true;否则返回false。
put
如果队列已满,执行插入操作的线程会被阻塞,直到队列不满。
offer(…)
如果队列已满,则超时等待,如果队列到截止时间仍然是满的状态,返回false。
删除
remove
执行删除操作时,如果队列为空,则抛出NoSuchElementException异常。
poll
如果队列为空,返回null。
take
如果队列为空,对执行删除操作的线程阻塞,直到队列不为空。
poll(…)
如果队列为空,进行超时等待,如果到超时的截止时间,队列仍然为空,则返回null。
检查
element
返回但不删除队列的队首元素,如果为空,则抛出NoSuchElementException异常。
peek
返回但不删除队列的队首元素,如果为空,返回null。