Thread.sleep() 的 Java 性能问题
2022-09-02 00:30:53
内联 Java IDE 提示指出,“在循环中调用 Thread.sleep 可能会导致性能问题。我在文档的其他地方找不到任何解释。这句话。
为什么?如何?还有什么其他方法可以延迟线程的执行?
内联 Java IDE 提示指出,“在循环中调用 Thread.sleep 可能会导致性能问题。我在文档的其他地方找不到任何解释。这句话。
为什么?如何?还有什么其他方法可以延迟线程的执行?
这并不是说循环本身就是一个性能问题,但它通常暗示你做错了什么。Thread.sleep
while(! goodToGoOnNow()) {
Thread.sleep(1000);
}
仅当您要暂停话题一段时间时才使用。如果您想等待某个条件,请不要使用它。Thread.sleep
对于此情况,应改用并发 utils 包中的某些构造或某些构造。wait/notify
仅当等待当前 JVM 外部的条件(例如,等待另一个进程写入文件)时,才应使用 轮询 。Thread.sleep