【发布时间】:2020-06-17 15:03:19
【问题描述】:
所以这最终可能会成为一个令人尴尬的问题,但是对于 Java,线程中的无限循环会导致 CPU 使用率过高吗?我对 Java 中的多线程不是很了解,但我的假设是 Java 为所有线程分配了相同的时间,而不管线程是否有事情要做。因此,我隐含地假设多线程环境中的无限循环不会像在单线程环境中那样对性能造成负担。结果,我有很多看起来像下面sn-p的代码:
public Thread readerThread = new Thread() {
@Override
public void run() {
while(true) {
readNextMessage(); // Does nothing if there are no messages to read
}
}
}
readerThread.start();
我最近开始注意到我的应用程序存在严重的性能问题,我开始怀疑我的线程方法是否是原因。
【问题讨论】:
标签: java multithreading concurrency