2016-02-29 6 views
0

мне нужно блокировать выполнение Greenlet до возникновения состояния, как следующее:Как правильно блокировать выполнение кода в Python?

... 
while not some_condition: 
    gevent.sleep(0.00000000000001) 
... 

Этот подход очень ресурсоемкие. Если я изменю gevent.sleep(0.000000000001) на gevent.sleep(0.1), использование процессора упадет до 1/10. Но на этот раз, в худшем случае, код продолжит свое выполнение через 0,1 секунды после того, как произойдет some_condition, а не сразу.

Итак, как я могу заставить свою зеленую паузу выполнять ее выполнение до тех пор, пока не произойдет условие?

ответ