线程中的while (true) { ... }循环不好吗?还有别的选择吗?
更新;我想要的是.
我有10,000个线程,每个线程都使用来自它们的私有队列的消息。我有一个线程,它一个接一个地生成消息,并将它们放到正确的消费者队列中。每个使用者线程无限期地循环,检查消息是否出现在队列中并进行处理。
在Consumer.java内部:
@Override
public void run() {
while (true) {
Message msg = messageQueue.poll();
if (msg != null) {
... // do something with the message
}
}
}生产者正在以快速的速度将消息放入消费者消息队列(每秒数百万条消息)。消费者应该尽可能快地处理这些信息!
注意:while (true) { ... }被生产者发送的一条杀死消息作为最后一条消息终止。然而,我的问题是如何正确地传递信息.
请参阅 新问题,关于此设计。。
发布于 2010-07-29 21:48:34
while (!stop_running) { ... }...perhaps?通常使用某种类型的退出标志来控制线程的运行。
https://stackoverflow.com/questions/3367192
复制相似问题