我需要在一个脚本中等待,直到一定数量的条件为真?
我知道我可以使用条件变量和朋友们推出我自己的事件,但我不想经历实现它的所有麻烦,因为一些对象的属性变化来自于包装好的C++库中的外部线程(Boost.Python),所以我不能只是在一个类中劫持
__setattr__
并在那里放一个条件变量,这让我不得不尝试从C++中创建一个Python条件变量并发出信号,或者在Python中封装一个本地条件变量并等待它,这两种方法听起来都很麻烦,不必要地复杂和无聊。
有什么更简单的方法吗,除非连续轮询条件?
理想情况下,它应该是这样的
res = wait_until(lambda: some_predicate, timeout)
if (not res):
print 'timed out'