LinkedTransferQueue
是一个无界队列,是LinkedBlockingQueue、SynchronousQueue(公平模式)、ConcurrentLinkedQueue三者的集合体,综合了三者的方法提供更加高效的实现方式。
其继承结构为:
TransferQueue
LinkedTransferQueue
实现了TransferQueue
接口,而TransferQueue
接口继承自BlockingQueue
,故LinkedTransferQueue
也是一个阻塞队列。LinkedTransferQueue
定义如下方法:
1 | //尝试移交元素 |
主要属性
1 | public class LinkedTransferQueue<E> extends AbstractQueue<E> |
入队
1 | public void put(E e) { |
出队
1 | public E remove() { |
移交元素的方法
1 | public boolean tryTransfer(E e) { |
xfer
1 | private E xfer(E e, boolean haveData, int how, long nanos) { |