【发布时间】:2011-06-08 15:54:23
【问题描述】:
我确信这有点普遍,所以我很好奇在 Python 中接受/有效的方法是什么。
简单地说,我只是在忙着等待一个变量被更新。同时我需要一个超时方案,但我觉得必须有更好的方法来做到这一点。
目前我做这样的事情:
wait_start = time.time()
while state != NEW_STATE:
if time.time() - wait_start > timeout:
print "Timed out!"
# Do something
# Continuing on...
我显然无法入睡,因为我需要知道状态何时发生变化。
那么什么是实现状态(变量)更改超时的有效方法?
【问题讨论】:
-
哎哟。当 state != NEW_STATE 时,你会吃掉 CPU 周期来检查它
-
没错,我考虑过信号,但我只是认为这种事情有公认的最佳实践
标签: python performance timeout