特点:
使用:
ArrayDeque arrayDeque = new ArrayDeque();
for (int i = 0; i < 50; i++) {
arrayDeque.add(buildingBlock); // add方法等价于addLast方法
}
LinkedTransferQueue原理:
LinkedTransferQueue = 阻塞队列+链表结构+TransferQueue
之前我们讲“使命必达 TransferQueue 接口时已经介绍过了 TransferQueue 接口 ,所以 LinkedTransferQueue 接口跟它相似,只是加入了阻塞插入和移除的功能,以及结构是链表结构。
之前的 TransferQueue 也讲到了 3 个案例来说明 TransferQueue 的原理,大家可以回看 TransferQueue。
LinkedTransferQueue接口比其他阻塞队列多了5个方法:
LinkedTransferQueue实现了哪些接口:
SynchronousQueue原理:
SynchronousQueue应用场景:
SynchronousQueue和LinkedTransferQueue的区别:
DelayQueue原理:
public class DelayQueue<E extends Delayed> extends AbstractQueue<E>
implements BlockingQueue<E> {
源码解析:
public boolean offer(E e, long timeout, TimeUnit unit) {
return offer(e);
}
if (first == null || first.getDelay(NANOSECONDS) > 0)
return null;
else
return q.poll();
应用场景:
DelayQueue实现了哪些接口:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。