我有一个结构,其中一个变量根据应用程序打开的时间不断更新。
while (playTime < allowedTime) {
endTimeSec = (int) (System.currentTimeMillis() / MILLISECONDS);
playTime = endTimeSec - startTime;
}
此检查始终在与我的实际应用所在位置不同的线程上运行。我的问题是,由于我基本上关心精确到秒,每次循环迭代时使用 Thread.sleep(1000)
会有什么好处吗?
最佳答案
是的,在这种情况下 Thread.sleep(1000);
有好处。这将使您的 Thread
hibernate 一秒钟,因此它在此期间不会消耗 CPU 资源。
这就好像您要带着您的 child 乘长途汽车去度假。而不是 children 问“我们到了吗?”每微秒一次,他们将每秒询问一次。这好多了。
关于java - Thread.sleep() 在无限循环中有什么好处吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23527758/