在 eventlet 中,spawn_n()
和 spawn()
都是用于创立协程的函数,然而它们有一些区别。
spawn_n()
函数是异步的,它会在以后协程的事件循环中异步地创立一个新的协程。这意味着它会立刻返回,并且不会期待新协程的执行。spawn_n()
的益处是它不会阻塞以后协程,因而能够在不影响其余协程的状况下创立新的协程。
spawn()
函数是同步的,它会立刻创立一个新的协程并期待它实现。这意味着 spawn()
函数会阻塞以后协程,直到新协程执行实现。spawn()
的益处是,它会确保在新协程执行之前,以后协程曾经暂停,并且在新协程执行实现之前,以后协程不会再次执行。
如果你只是想在事件循环中异步地创立一个新协程,那么能够应用 spawn_n()
函数。如果你想期待新协程实现并获取它的返回值,则应该应用 spawn()
函数。