什么场景下使用阻塞队列

codecraft

Java基础系列

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

场景

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

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

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

阅读 3.7K

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

当一个代码的工匠回首往事时,不因虚度年华而悔恨,也不因碌碌无为而羞愧,这样,当他老的时候,可以很自豪告诉世人,我曾经将代码注入生命去打造互联网的浪潮之巅,那是个很疯狂的时代,我在一波波的浪潮上留下了或重如泰山或轻如鸿毛的几笔。

11.3k 声望
1.1k 粉丝
0 条评论

当一个代码的工匠回首往事时,不因虚度年华而悔恨,也不因碌碌无为而羞愧,这样,当他老的时候,可以很自豪告诉世人,我曾经将代码注入生命去打造互联网的浪潮之巅,那是个很疯狂的时代,我在一波波的浪潮上留下了或重如泰山或轻如鸿毛的几笔。

11.3k 声望
1.1k 粉丝
宣传栏