2011-06-08 34 views
3

我確定這有點常見,所以我很好奇在Python中做什麼的可接受/有效的方法。超時等待狀態更改(變量更改)的有效方法?

簡而言之,我只是忙着等待變量被更新。同時我需要一個暫停計劃,但我覺得必須有更好的方式來做到這一點。

目前,我做這樣的事情:

wait_start = time.time() 
while state != NEW_STATE: 
    if time.time() - wait_start > timeout: 
     print "Timed out!" 
     # Do something 

# Continuing on... 

我明明只是無法入睡,因爲我需要的時候狀態發生了變化就知道了。

那麼什麼是一種有效的方法來實現狀態(變量)更改的超時?

+0

ouch。當狀態!= NEW_STATE時,你會吃掉cpu週期,確切地檢查它 – 2011-06-08 15:56:33

+0

,我想到了信號,但我只是想到,這種事情有一個公認的最佳實踐 – 2011-06-08 16:42:41

回答