我对 eventlet 很陌生,对 sleep() 有一些疑问
我用一小段代码进行了测试。
一开始我生成了3个greenthreads,然后调用了greenthread.sleep(0),然后这3个greenthreads都来执行其中的函数。这是怎么回事?
sleep() 是否意味着执行所有产生的greenthread?我们传入的参数 0 是什么意思?
这是代码:
import eventlet
from eventlet import greenthread
from eventlet import event
evt = event.Event()
def func1():
print "starting func1"
evt.wait()
print "stopping func1"
def func2():
print "starting func2"
evt.wait()
print "stopping func2"
def func3():
evt.send()
gt1 = greenthread.spawn(func1)
gt2 = greenthread.spawn(func2)
gt3 = greenthread.spawn(func3)
greenthread.sleep(0)