我创建了一个Python闹钟,有一个简单的问题,检查时间:简单的闹钟和每秒
我的闹钟的决议必须精确到秒。目前我有一个线程每0.5秒唤醒一次,并检查是否有时间开始制造噪音。
我唯一担心的是系统在某些时候会完全超载,并且闹钟没有响,因为闹钟线程在第二秒时间内仍然处于睡眠状态,因此它应该检查时间。
所以我的问题是,会检查每0.05秒更好?或者有没有办法在python注册一个事件处理程序的特定时间,所以我不必自己检查时间。
我创建了一个Python闹钟,有一个简单的问题,检查时间:简单的闹钟和每秒
我的闹钟的决议必须精确到秒。目前我有一个线程每0.5秒唤醒一次,并检查是否有时间开始制造噪音。
我唯一担心的是系统在某些时候会完全超载,并且闹钟没有响,因为闹钟线程在第二秒时间内仍然处于睡眠状态,因此它应该检查时间。
所以我的问题是,会检查每0.05秒更好?或者有没有办法在python注册一个事件处理程序的特定时间,所以我不必自己检查时间。
检查定时器功能的标准signal
module。
此外,如果您已经知道何时触发您的操作,为何不在执行之前执行time.sleep(seconds)
? (seconds
应该是几秒钟内触发该动作的时间,很明显)
如果只有一个事件需要检查,如果用户nevers改变时间,冻结进程或永远不休眠系统,那很容易。 – BatchyX 2011-01-10 20:49:16
这不是最好的解决方案。不能保证你被锁定超过一秒钟。
你应该坚持0.5秒的分辨率(或者更糟,如果没有生活依赖于它),并触发事件时,它是在或过去到期时间,并保持每个事件的标志,如果它已经被解雇。然后它会一直被激发一次,并且尽可能接近目标时间。
你可以发布一些代码给我们,知道你在做什么? – 2011-01-10 20:38:14