Java基础系列
序
本文主要讲什么场合适合使用阻塞队列。
场景
java.util.concurrent包不仅提供了阻塞队列,还提供了一种容量无限、操作不需要等待、非阻塞的队列ConcurrentLinkedQueue,这些特性听上去非常诱人,那为什么在这个场景下它不是一个好的解决方案呢?
关键在于生产者和消费者可能不会(几乎肯定不会)保持相同的速度,比如,当生产者的速度快于消费者的速度时,队列会越来越大,而且生产对象有40G,很容易就让队列大小超过内存容量。
相比之下,阻塞队列只允许生产者的速度在一定速度上超过消费者的速度,但不会超过很多。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。