Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 等待状态更改(变量更改)超时的有效方法?_Python_Performance_Timeout - Fatal编程技术网

Python 等待状态更改(变量更改)超时的有效方法?

Python 等待状态更改(变量更改)超时的有效方法?,python,performance,timeout,Python,Performance,Timeout,我确信这在某种程度上是很常见的,所以我很好奇在Python中有哪些被接受/有效的方法来实现这一点 简单地说,我只是在忙着等待一个变量被更新。同时,我需要一个超时方案,但我觉得一定有更好的方法 目前我做的事情如下: wait_start = time.time() while state != NEW_STATE: if time.time() - wait_start > timeout: print "Timed out!" # Do someth

我确信这在某种程度上是很常见的,所以我很好奇在Python中有哪些被接受/有效的方法来实现这一点

简单地说,我只是在忙着等待一个变量被更新。同时,我需要一个超时方案,但我觉得一定有更好的方法

目前我做的事情如下:

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

# Continuing on...
很明显,我就是睡不着,因为我需要知道状态什么时候变了


那么,实现状态(变量)更改超时的有效方法是什么呢?

通常用于这类事情。两者都需要改变变量的一方的合作。

哎哟。当国家在新的状态下,你会吃cpu周期检查它。我曾经考虑过信号,但我只是认为这类事情有一个公认的最佳实践