我正在阅读 gevent 教程并看到了这个有趣的片段:
import gevent
def foo():
print('Running in foo')
gevent.sleep(0)
print('Explicit context switch to foo again')
def bar():
print('Explicit context to bar')
gevent.sleep(0)
print('Implicit context switch back to bar')
gevent.joinall([
gevent.spawn(foo),
gevent.spawn(bar),
])
其中执行流程是这样的 foo -> bar -> foo -> bar 。如果没有 gevent 模块但使用 yield 语句就不能做同样的事情吗?我一直在尝试用'yield'来做到这一点,但由于某种原因我无法让它工作...... :(