使用ConcurrentLinkedQueue时,如何限制队列的大小.是否有可能通过外部存储异常?
解决方法
ConcurrentLinkedQueue
的大小是无限的,因此如果生产者投入的物品比消费者更快地移除它们,最终它会耗尽你的记忆力.如果要限制队列的大小,请尝试使用阻塞队列,例如
LinkedBlockingQueue
或
ArrayBlockingQueue
.第一个的大小可以选择性地限制,而第二个的大小总是有界的.
ConcurrentLinkedQueue
的大小是无限的,因此如果生产者投入的物品比消费者更快地移除它们,最终它会耗尽你的记忆力.如果要限制队列的大小,请尝试使用阻塞队列,例如
LinkedBlockingQueue
或
ArrayBlockingQueue
.第一个的大小可以选择性地限制,而第二个的大小总是有界的.