我相信这在某种程度上是常见的,所以我很好奇在Python中有什么可接受/有效的方法来做到这一点。
简单地说,我只是忙于等待一个变量被更新。同时,我需要一个超时方案,但我觉得必须有更好的方法。
目前我做这样的事情:
wait_start = time.time()
while state != NEW_STATE:
if time.time() - wait_start > timeout:
print "Timed out!"
# Do something
# Continuing on...
我显然就是睡不着,因为我需要知道什么时候状态发生了变化。
那么,实现状态(变量)更改超时的有效方法是什么呢?
条件变量和事件通常用于这类事情。两者都需要改变变量的一方的合作。