在JDK中,它实现为:
public static void sleep(long millis, int nanos)
throws InterruptedException {
if (millis < 0) {
throw new IllegalArgumentException("timeout value is negative");
}
if (nanos < 0 || nanos > 999999) {
throw new IllegalArgumentException(
"nanosecond timeout value out of range");
}
if (nanos >= 500000 || (nanos != 0 && millis == 0)) {
millis++;
}
sleep(millis);
}
Run Code Online (Sandbox Code Playgroud)
这意味着nanos论证根本没有做任何事情.
它背后的想法是,在具有更精确计时的硬件上,JVM可以为它提供更好的实现吗?
它看起来像是一个面向未来的新增功能,因为当我们都拥有petaflop笔记本电脑时,我们会定期指定延迟时间为纳秒.同时,如果指定纳秒延迟,则会得到毫秒延迟.
当硬件改进并且JVM跟随时,应用程序将不需要重写.
| 归档时间: |
|
| 查看次数: |
4732 次 |
| 最近记录: |