什么场景下使用阻塞队列

codecraft

Java基础系列

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

场景

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

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

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

阅读 4.2k

code-craft
spring boot , docker and so on 欢迎关注微信公众号: geek_luandun

当一个代码的工匠回首往事时,不因虚度年华而悔恨,也不因碌碌无为而羞愧,这样,当他老的时候,可以很...

11.5k 声望
1.9k 粉丝
0 条评论
你知道吗?

当一个代码的工匠回首往事时,不因虚度年华而悔恨,也不因碌碌无为而羞愧,这样,当他老的时候,可以很...

11.5k 声望
1.9k 粉丝
宣传栏