Java: Is 'while (true) { ... }' 线程中的循环坏了?还有什么替代方案?
2022-09-01 14:23:56
线程中的循环是否不好?还有什么替代方案?while (true) { ... }
更新;我想要的...
我有大约10,000个线程,每个线程都使用来自其私有队列的消息。我有一个线程,它逐个生成消息,并将它们放入正确的使用者队列中。每个使用者线程无限期地循环,检查消息是否出现在其队列中并对其进行处理。
消费者内部.java:
@Override
public void run() {
while (true) {
Message msg = messageQueue.poll();
if (msg != null) {
... // do something with the message
}
}
}
创建者正在以快速的速度(每秒数百万条消息)将消息放入使用者消息队列中。消费者应该尽快处理这些信息!
注意: 由生产者发送的 KILL 消息作为其最后一条消息终止。但是,我的问题是关于进行此消息传递的正确方法...while (true) { ... }
请参阅有关此设计的新问题。