【发布时间】:2018-06-04 03:56:37
【问题描述】:
如果我启动一个线程:
new Thread(() -> {
while (running) {
try {
Thread.sleep(TimeUnit.MINUTES.toMillis(30));
/* ... */
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}).start();
如果操作系统被挂起(睡眠模式等),线程会发生什么 而 Thread.sleep() 处于活动状态?当操作系统退出睡眠时,线程是否恢复正常睡眠?
我使用的是 Windows 10。
【问题讨论】:
-
我怀疑它可以计算它应该唤醒的时间,并在您启动时或之后立即唤醒,但它很可能取决于操作系统。
标签: java multithreading