在 eventlet 中,spawn_n()spawn() 都是用于创建协程的函数,但是它们有一些区别。

spawn_n() 函数是异步的,它会在当前协程的事件循环中异步地创建一个新的协程。这意味着它会立即返回,并且不会等待新协程的执行。spawn_n() 的好处是它不会阻塞当前协程,因此可以在不影响其他协程的情况下创建新的协程。

spawn() 函数是同步的,它会立即创建一个新的协程并等待它完成。这意味着 spawn() 函数会阻塞当前协程,直到新协程执行完成。spawn() 的好处是,它会确保在新协程执行之前,当前协程已经暂停,并且在新协程执行完成之前,当前协程不会再次执行。

如果你只是想在事件循环中异步地创建一个新协程,那么可以使用 spawn_n() 函数。如果你想等待新协程完成并获取它的返回值,则应该使用 spawn() 函数。


universe_king
3.4k 声望680 粉丝