Я бы хотел по существу gevent.sleep
вести себя как time.sleep
в том, что она возвращает выполнение после точно (не по крайней мере) некоторое количество секунд, но позволяют другое Greenlets работать в то же время.Вызов gevent.sleep с тайм-аутом
Пример:
import gevent
def a():
while True:
print "A"
gevent.sleep(0.2)
def b():
gevent.spawn(a)
while True:
print "B"
gevent.sleep(1)
b()
# often get more than 10 or 20 'A's for each 'B', would expect close to 5
Есть ли лучший способ получить желаемое поведение?
Запуск python 2.7.11 и gevent 1.0.2. Интересно, что после перезапуска python я получаю правильный вывод в первый раз, но проблема, которую я описал после последующих вызовов. – user2561747
Ах это было связано с тем, что он забыл убить Гринлета, запускающего 'a' на' KeyboardInterrupt' – user2561747