我写了一个Java程序,执行一些函数后需要睡眠12小时(通过
昨晚我不小心让我的笔记本电脑处于未连接电源的状态下,并进入了休眠模式。今天早上我从休眠模式中唤醒计算机,我的程序像之前一样运行。
然而,现在已经超过了12个小时,但第二个函数的代码没有执行。
这是否意味着我现在必须再等待12个小时(从我唤醒笔记本电脑开始)才能执行我的期望代码?(我现在无法停止我的程序来测试这一点,因为这将保证我的函数即使在额外的12个小时后也无法执行,因为它依赖于第一个函数的输出,而第一个函数依赖于实时数据)
我在SO上找到了一个关于C的类似主题,但没有关于Java的内容。
根据我读到的一个线程,程序在确定睡眠时间时会比较两个时间戳,但肯定不是这种情况,否则我的代码已经执行了。那么
谢谢
TimeUnit.HOURS.sleep(12)
),然后继续执行另一个函数。昨晚我不小心让我的笔记本电脑处于未连接电源的状态下,并进入了休眠模式。今天早上我从休眠模式中唤醒计算机,我的程序像之前一样运行。
然而,现在已经超过了12个小时,但第二个函数的代码没有执行。
这是否意味着我现在必须再等待12个小时(从我唤醒笔记本电脑开始)才能执行我的期望代码?(我现在无法停止我的程序来测试这一点,因为这将保证我的函数即使在额外的12个小时后也无法执行,因为它依赖于第一个函数的输出,而第一个函数依赖于实时数据)
我在SO上找到了一个关于C的类似主题,但没有关于Java的内容。
根据我读到的一个线程,程序在确定睡眠时间时会比较两个时间戳,但肯定不是这种情况,否则我的代码已经执行了。那么
thread.sleep()
在底层是如何工作的呢?谢谢