什么场景下使用阻塞队列

Java基础系列

本文主要讲什么场合适合使用阻塞队列。

场景

java.util.concurrent包不仅提供了阻塞队列,还提供了一种容量无限、操作不需要等待、非阻塞的队列ConcurrentLinkedQueue,这些特性听上去非常诱人,那为什么在这个场景下它不是一个好的解决方案呢?

关键在于生产者和消费者可能不会(几乎肯定不会)保持相同的速度,比如,当生产者的速度快于消费者的速度时,队列会越来越大,而且生产对象有40G,很容易就让队列大小超过内存容量。

相比之下,阻塞队列只允许生产者的速度在一定速度上超过消费者的速度,但不会超过很多。

脚本宝典为你提供优质服务
脚本宝典 » 什么场景下使用阻塞队列

发表评论

提供最优质的资源集合

立即查看 了解详情