Ответ 1
TimeUnit.SECONDS.sleep(x)
вызовет Thread.sleep
.
Единственная разница - читаемость и использование TimeUnit
, вероятно, легче понять для неочевидных длительностей (например: Thread.sleep(180000)
vs. TimeUnit.MINUTES.sleep(3)
).
Для справки см. ниже код sleep()
в TimeUnit
:
public void sleep(long timeout) throws InterruptedException {
if (timeout > 0) {
long ms = toMillis(timeout);
int ns = excessNanos(timeout, ms);
Thread.sleep(ms, ns);
}
}