我正在做一个项目,它使用一个队列来保存需要发送到远程主机的消息的相关信息。在这种情况下,一个线程负责将信息放入队列中,另一个线程负责从队列中获取信息并发送信息。第二个线程需要定期检查队列中的信息。
但后来我发现这是轮子的重新发明:)我可以使用阻塞队列来实现这一目的。
对上述应用程序使用阻塞队列的其他优点是什么?(例如:性能,代码的可修改,任何特殊技巧等)
发布于 2009-05-06 03:04:18
主要优点是BlockingQueue
提供了正确的、线程安全的实现。开发人员自己实现这个功能已经有很多年了,但要想正确使用它是很棘手的。现在,运行时有一个由并发专家开发、审查和维护的实现。
队列的“阻塞”特性有几个优点。首先,在添加元素时,如果队列容量有限,则内存消耗也会受到限制。此外,如果队列消费者远远落后于生产者,生产者自然会受到抑制,因为它们必须等待添加元素。当从队列中获取元素时,主要的优点是简单;永远等待是微不足道的,正确地等待指定的超时只是稍微复杂一点。
https://stackoverflow.com/questions/827831
复制相似问题