我在python中创建一个闹钟并且有一个简单的问题:
我的闹钟的分辨率需要降到秒。目前我有一个每0.5秒唤醒一次的线程,并检查是否有时间开始发出噪音。
我唯一担心的是系统在某些时候会完全超载并且警报没有响起,因为闹钟线程在第二次检测时间内仍然处于休眠状态。
所以我的问题是,每0.05秒检查一次会更好吗?或者有没有办法在特定时间内使用python注册事件处理程序,所以我不必自己检查时间。
答案 0 :(得分:2)
这不是最好的解决方案。这并不能保证您被锁定超过一秒钟。
你应该坚持0.5秒的分辨率(或者如果没有生命依赖它就更糟)并且只要它在或过去到期时触发事件,并且如果事件有,则每个事件保持一个标记被解雇了然后它将始终被触发一次,并且接近可实现的目标时间。
答案 1 :(得分:2)
检查标准signal
module的计时器功能。
另外,如果您已经知道何时触发操作,为什么不在执行之前执行time.sleep(seconds)
? (seconds
应该是在几秒钟内触发动作的剩余时间,显然)