繁体   English   中英

Java FIFO队列实现

[英]Java FIFO queue implementation

有谁知道在Java中是否有FIFO队列实现,或者是否有其他库可以让用户设置最大大小,并在队列满时自动拒绝任何请求?

我看过番石榴队列的实现,但是从我所看到的来看,它会在队列满时删除队列中的第一个元素,而不是拒绝请求。

大多数内置队列都这样做。 我建议使用ArrayBlockingQueue,因为这自然适合有限的大小,但是您也可以使用LinkedBlockingQueue。 BlockingDeque也支持一个限制。

顺便说一句,如果您正在使用带有线程的队列,建议您使用ExecutorService,因为它将它们组合在一起。

在简单的队列上使用装饰器模式,例如:
Queue<String> queue = new LinkedList<String>();

包装器代码将确保最大大小被强制拒绝额外的添加。

int size=500;
Queue<String> = new ArrayBlockingQueue<>(size);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM