协程的好处有哪些?

协程的好处有哪些?

函数:让有依赖关系的代码块(block)A和B,所各自编译得到的一堆指令(instructions) a和b在内存空间中解耦。A和B通过call ret等指令跳转访问。

协程:让有依赖关系的代码块(block)A和B和C,各自所消耗的堆栈内存空间解耦。(如果使用函数A调用B,B调用C,C如果发现A就绪了想返回A就必须返回B再返回A,此时B所占据的堆栈空间会被摧毁。协程调度则可以让C绕开B切换到A。)A,B,C通过特殊的协程切换汇编函数进行调度和切换。

当A,B,C从代码空间,堆栈内存使用上都已经解耦,成为了可以独立调度的单元的情况下,我们就可以给他取名字:X程了(X=协,线,进)。