线程睡眠准确性

时间:2012-09-26 03:06:52

标签: android multithreading optimization

我一直在尝试各种计时方法的代码。创建延迟的一种方法是使用thread.sleep(millis)运行一个线程,但是很明确地说线程“唤醒”的时间并不完全准确,可能在此时间之前或之后。然后我遇到了一个定义,其中有一个选项可以使用thread.sleep(millis,nanos),其中nanos给出“额外的纳秒级精度。”

我的问题是如果thread.sleep()不是那么准确毫秒,添加额外纳米的用途是什么?添加此值是否会使睡眠方法突然变得更加准确,例如强制操作系统更严格或在监控时允许更高的优先级? 此外,.join()具有相同的选项,我假设thread.sleep()部分的答案类似于.join()部分。谢谢。

1 个答案:

答案 0 :(得分:1)

这个链接可以让您对Thread.sleep和OS依赖的准确性有所了解 https://blogs.oracle.com/dholmes/entry/inside_the_hotspot_vm_clocks