目的:提高效率,充分利用多核

要解决的问题:上下文状态的保存

实现对比:

​ fork—>保存在栈中,交给操作系统。

​ 异步回调—>自己实现。

​ 协程—>保存在栈上,用户态完成。

效率对比:异步回调 > 协程 [据某位大佬说异步回调大概是协程10倍]> fork

优缺点对比:

  • fork:实现简单,效率低,不能支持大量并发。

  • 异步回调:效率很高,实现复杂。

  • 协程:效率较高,实现简单,解放心智。

注:由于实际工程中,协程/异步回调中的代码段往往包含很多逻辑,而协程部分的性能损耗远低于业务逻辑,因此协程是一种比较好的方案。