我有一个构造,其中变量根据应用程序打开的时间不断更新。
while (playTime < allowedTime) {
endTimeSec = (int) (System.currentTimeMillis() / MILLISECONDS);
playTime = endTimeSec - startTime;
}
此检查始终在与我的实际应用程序所在位置不同的线程上运行。我的问题是,由于我基本上只关注精度到第二次,每次循环迭代时都有Thread.sleep(1000)
会有什么好处吗?
答案 0 :(得分:9)
是的,在这种情况下,Thread.sleep(1000);
会带来好处。这将使您的Thread
暂停一会儿,因此在此期间它不会占用CPU资源。
就好像你带孩子去度假一样长途跋涉。而不是孩子们问“我们还在吗?”每微秒一次,他们会每秒询问一次。那是很多更好。