import eventlet
def foo():
print('foo')
def main():
eventlet.monkey_patch()
pool = eventlet.GreenPool()
pool.spawn(foo)
if __name__ == "__main__":
main()
期望结果:
foo
但是没有任何输出。为什么会这样呢?
您需要等待生成的线程完成,使用 eventlet.greenthread.GreenThread.wait
:
thread = pool.spawn(foo)
thread.wait()
或者使用eventlet.greenpool.GreenPool.waitall
:
pool.spawn(foo)
pool.waitall()