繁体   English   中英

在无限循环中Thread.sleep()有什么好处吗?

[英]Is there any benefit to Thread.sleep() in an infinite loop?

我有一个构造,其中变量会根据打开应用程序的时间而不断更新。

while (playTime < allowedTime) {
    endTimeSec = (int) (System.currentTimeMillis() / MILLISECONDS);
    playTime = endTimeSec - startTime;
}

此检查始终在与实际应用程序不同的线程上运行。 我的问题是,由于我基本上只关心精确到秒的精度,因此每次循环迭代时使用Thread.sleep(1000)都会有好处吗?

是的, Thread.sleep(1000);有一个好处Thread.sleep(1000); 在这种情况下。 这会使您的Thread休眠一秒钟,因此在此期间它不会消耗CPU资源。

就像您要带孩子长途驾车度假一样。 而不是孩子们问“我们到了吗?” 每微秒一次,他们将每秒询问一次。 这是好多了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM