java - Thread.sleep 与 TimeUnit.SECONDS.sleep

标签 java sleep

如果我要调用让 Java 线程进入休眠状态,是否有理由选择其中一种形式而不是另一种形式?

Thread.sleep(x)

TimeUnit.SECONDS.sleep(y)

最佳答案

TimeUnit.SECONDS.sleep(x)将调用 Thread.sleep . 唯一的区别是可读性和使用 TimeUnit对于不明显的持续时间可能更容易理解(例如:Thread.sleep(180000)TimeUnit.MINUTES.sleep(3))。

引用如下TimeUnitsleep()的代码:

public void sleep(long timeout) throws InterruptedException {
    if (timeout > 0) {
        long ms = toMillis(timeout);
        int ns = excessNanos(timeout, ms);
        Thread.sleep(ms, ns);
    }
}

关于java - Thread.sleep 与 TimeUnit.SECONDS.sleep,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9587673/

相关文章:

c++ - C++中计算耗时,非阻塞,无线程

Java 作为 Java 的脚本语言?

java - 存储在 Canvas 上绘制的形状

java - 在 C++ 和 Java 中只有一个返回值的原因是什么?

android - 让系统在偶数之后暂停 - android

java - Java内部有Thread.sleep时定时器不会停止

c# - 不变断言适合 C# 编程吗?

java - 如何使用新的 JUnit 4.11 功能,包括更改测试名称和设置执行顺序

linux - 如何判断一个函数是否可以休眠?

c - 如何在新的操作系统中实现计时?