使用 ConcurrentLinkedQueue 时,如何限制队列的大小。是否有可能通过内存不足异常?
最佳答案
ConcurrentLinkedQueue
的大小是无限的,所以如果生产者放入元素的速度快于消费者移除元素的速度,最终它确实会耗尽你的内存。如果你想限制队列的大小,试试阻塞队列,比如LinkedBlockingQueue
或 ArrayBlockingQueue
反而。第一个的大小可以有选择地限制,而第二个总是有限制的。
关于java - 防止 ConcurrentLinkedQueue<T> 出现内存不足异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4021855/