LinkedBlockingQueue LinkedBlockingQueue 是基于链表实现的,可以选择有界或无界的阻塞队列. 队列的元素按照 FIFO 的顺序访问,新增元素添加到队列尾部,移除元素从队列头部开始. 队列头部通过 takeLock 进行并发控制,队列尾部通过 putLock 进行并发控制, 该队列最多可以有两个线程同时操作,其吞吐量要高于 ArrayBlockQueue. 创建实例 /** * 单向链表节点 */ static class Node<E> { /** * 存储…