gpt4 book ai didi

java - 如果操作系统挂起,正在 hibernate 的线程会发生什么情况?

转载 作者:行者123 更新时间:2023-11-30 06:44:20 26 4
gpt4 key购买 nike

如果我开始一个线程:

 new Thread(() -> {
while (running) {
try {
Thread.sleep(TimeUnit.MINUTES.toMillis(30));
/* ... */
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}).start();

如果操作系统挂起( hibernate 模式等),线程会发生什么当 Thread.sleep() 处于 Activity 状态时?当操作系统退出 sleep 时,线程是否恢复正常 sleep ?

我正在使用 Windows 10。

最佳答案

在这种情况下,当系统进入 hibernate 模式时,您的线程也将进入 hibernate 模式。当然,进入休眠状态的 pc 比您启动的线程具有更高的命令权限。这次 sleep 与您启动的 sleep 不同。简而言之,操作系统创建正在运行的进程的快照并在唤醒时恢复它。

当 PC hibernate 时,它几乎卡住了所有内容,您的线程也是如此。如果它在 sleep 5 分钟时停止,它会在醒来时从那里继续(即使 sleep 持续更长时间)。

回想一下,特定线程的 sleep (在您的情况下为 30 分钟)在特定应用程序的上下文中是有意义的。这意味着应用程序的其他部分正在计算您的线程将正好 hibernate 30 分钟这一事实。如果不是这样,那就是如果你的线程继续 30 分钟的 sleep ,即使 PC 处于 sleep 模式,这意味着你的进程肯定还在继续,这与 的目的相矛盾 sleep

关于java - 如果操作系统挂起,正在 hibernate 的线程会发生什么情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50670329/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com