如果我要调用让 Java 线程进入休眠状态,是否有理由选择其中一种形式而不是另一种形式?
Thread.sleep(x)
或
TimeUnit.SECONDS.sleep(y)
最佳答案
TimeUnit.SECONDS.sleep(x)
将调用 Thread.sleep
.
唯一的区别是可读性和使用 TimeUnit
对于不明显的持续时间可能更容易理解(例如:Thread.sleep(180000)
与 TimeUnit.MINUTES.sleep(3)
)。
引用如下TimeUnit
中sleep()
的代码:
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/