1. 介绍
基于链表的无界阻塞队列,FIFO,jdk7提供,继承自TransferQueue,TransferQueue继承自BlockingQueue,所以具有自己独特的特征。
2. TransferQueue接口
如果生产者等待消费者接收了元素,可以用TransferQueue,生产者调用transfer方法会收到消费者调用take或者poll方法获取元素时的凭据,生产者用put方法则不会。
1.tryTransfer(E):将元素立刻给消费者。准确的说就是立刻给一个等待接收元素的线程,如果没有消费者就会返回false,而不将元素放入队列。
2.transfer(E):将元素给消费者,如果没有消费者就会等待。
3.tryTransfer(E,long,TimeUnit):将元素立刻给消费者,如果没有就等待指定时间。给失败返回false。
4.hasWaitingConsumer():返回当前是否有消费者在等待元素。
5.getWaitingConsumerCount():返回等待元素的消费者个数