实现类

  1. ArrayBlockingQueue :一个由数组结构组成的有界阻塞队列。
  2. LinkedBlockingQueue :一个由链表结构组成的有界阻塞队列。
  3. PriorityBlockingQueue :一个支持优先级排序的无界阻塞队列。
  4. DelayQueue:一个使用优先级队列实现的无界阻塞队列。
  5. SynchronousQueue:一个不存储元素的阻塞队列。
  6. LinkedTransferQueue:一个由链表结构组成的无界阻塞队列。
  7. LinkedBlockingDeque:一个由链表结构组成的双向阻塞队列。

    ArrayBlockingQueue

    成员变量

    1. final Object[] items;
    2. final ReentrantLock lock;
    3. private final Condition notEmpty;
    4. private final Condition notFull;
    可以看出实际上就是 基于重入锁和Condition的生产者和消费折