超时等待状态更改(变量更改)的有效方法?
问题描述:
我确定这有点常见,所以我很好奇在Python中做什么的可接受/有效的方法。超时等待状态更改(变量更改)的有效方法?
简而言之,我只是忙着等待变量被更新。同时我需要一个暂停计划,但我觉得必须有更好的方式来做到这一点。
目前,我做这样的事情:
wait_start = time.time()
while state != NEW_STATE:
if time.time() - wait_start > timeout:
print "Timed out!"
# Do something
# Continuing on...
我明明只是无法入睡,因为我需要的时候状态发生了变化就知道了。
那么什么是一种有效的方法来实现状态(变量)更改的超时?
ouch。当状态!= NEW_STATE时,你会吃掉cpu周期,确切地检查它 – 2011-06-08 15:56:33
,我想到了信号,但我只是想到,这种事情有一个公认的最佳实践 – 2011-06-08 16:42:41