当前位置:  开发笔记 > 编程语言 > 正文

线程睡眠和精确计时

如何解决《线程睡眠和精确计时》经验,为你挑选了1个好方法。

我正在制作一个代码,我希望我的时间有一定的精确度.我用机器人进行一些操作,然后我用Thread.sleep(some_time)some_time行动之间要经过的.但是我没有得到最好的结果,因为当我搜索它时,sleep并不准确.实现这一目标的最佳方法是什么?我的意思是Thread.sleep用其他方法模拟.



1> TwoThe..:

现代操作系统的时间安排永远不会精确,除非您使用为此明确设计的语言/框架.但是,在大多数操作系统中,您可以使用合理的不确定性.但"合理"取决于您试图解决的问题.

在Java中,Thread.sleep是一个非常基本的实现,在我看来过于夸张.Java提供这些基本的线程工具并不是因为它们是最佳解决方案,而是因为它们是基本工具.Java还提供了许多其他更复杂的工具,可以更好地满足您的需求.

例如,如果您想要"精确"计时,则可以使用ScheduledExecutorService,它使用OS调度服务提供至少毫秒的精度,甚至通常为纳秒.虽然它不是精确到纳秒(尽管提供),但它通常比Thread.sleep更准确.但是在严重超负荷的系统上,两者都不准确.如果这足以解决您的问题,那么您应该采用这种方法.否则,您需要不同的语言/执行环境.

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有