Java中阻塞队列的优点是什么?

Java中阻塞队列的优点是什么?,java,performance,data-structures,queue,Java,Performance,Data Structures,Queue,我正在从事一个项目,该项目使用一个队列来保存有关需要发送到远程主机的消息的信息。在这种情况下,一个线程负责将信息放入队列,另一个线程负责从队列中获取并发送信息。第二个线程需要定期检查队列中的信息 但后来我发现这是轮子的翻版:)我可以使用阻塞队列来实现这一目的 为上述应用程序使用阻塞队列的其他优点是什么?(例如:性能、代码的可修改性、任何特殊技巧等)它们是通过阻塞队列消除的关键问题是“轮询”。这就是你说的 在这种情况下,第二个线程需要定期检查队列中的信息 这可能是非常低效的-使用大量不必要的CPU

我正在从事一个项目,该项目使用一个队列来保存有关需要发送到远程主机的消息的信息。在这种情况下,一个线程负责将信息放入队列,另一个线程负责从队列中获取并发送信息。第二个线程需要定期检查队列中的信息

但后来我发现这是轮子的翻版:)我可以使用阻塞队列来实现这一目的


为上述应用程序使用阻塞队列的其他优点是什么?(例如:性能、代码的可修改性、任何特殊技巧等)

它们是通过阻塞队列消除的关键问题是“轮询”。这就是你说的

在这种情况下,第二个线程需要定期检查队列中的信息


这可能是非常低效的-使用大量不必要的CPU时间。它还可能引入不必要的延迟。

主要优点是
阻塞队列提供了正确的线程安全实现。开发人员自己已经实现了这个特性很多年了,但是要正确实现它是很困难的。现在运行时有了一个由并发专家开发、审查和维护的实现

队列的“阻塞”特性有两个优点。首先,在添加元素时,如果队列容量有限,那么内存消耗也会受到限制。此外,如果队列使用者远远落后于生产者,生产者自然会受到限制,因为他们必须等待添加元素。从队列中获取元素时,主要优点是简单;永远等待是微不足道的,而正确地等待指定的超时只会稍微复杂一点。

可能的重复