Python Eventlet 生成不工作

Python Eventlet spawn not working

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()