BlockingQueue是一个接口,定义如下:
public interface BlockingQueue<E> extends Queue<E>
BlockingQueue主要用于生产者-消费者模式,读取元素时,阻塞直到队列非空;保存元素时,阻塞直到队列有可用位置;
BlockingQueue不支持null值,当add,put 或者offer提供的值为null时,将会抛出NullPointerException;
BlockingQueue是线程安全的,但是批量的集合操作例如:addAll,removeAll等没有实现原子性执行,会及时失败;