当Windows处于睡眠模式时,预定的Java应用程序是否会运行?
问题描述:
如果我开始一个Java应用程序,它启动和然后做一些工作去线程睡眠一小时,再一个小时后醒来,做一些更多的工作...当Windows处于睡眠模式时,预定的Java应用程序是否会运行?
但我的电脑运行Win7和后15分钟不活动,它将进入睡眠模式,所以我的问题是:从我启动Java应用程序开始一个小时,如果我不触摸PC,并进入睡眠模式,我的Java应用程序仍然能够唤醒并完成它的工作,如果是的话,Win7电脑会在屏幕再次打开时唤醒[因为在Win7睡眠模式下屏幕会关闭]?
答
如果Windows不是,它怎么可能运行?主板支持的自动唤醒功能可能有一些技巧,但是当机器处于睡眠模式时,从操作系统和程序的角度来看,它可能会关闭。
编辑:注意其他答案,指出使用一些Windows API和工具(这大概与主板一起提供定时唤醒)的解决方法。
答
如果您的机器睡着了,那么一切都暂停。包括您可能想要运行的任何自定义应用程序。
答
正常的Thread.sleep()不会将计算机从睡眠模式唤醒。
但是,在向Windows任务计划程序注册任务时,可以选择“唤醒计算机以运行此任务”。当进入睡眠模式时,Windows会告诉主板下一次注册唤醒任务的时间。
+0
+1非常有趣!不知道! – 2010-10-18 15:43:28
我真的怀疑你的计算机可以在没有某些硬件信号(例如键盘或网络唤醒IRQ)的情况下退出睡眠模式。软件无法做到这一点:在睡眠模式下,您的处理器不会运行任何代码,甚至不会运行您的操作系统的代码。 – 2010-10-18 14:59:25
我相信我已经看到Windows Media Center可以唤醒电脑来录制节目。必须是主板时钟的事情。 – 2010-10-18 15:00:27