小伙伴们大家好,上篇文章我带大家实战分析了ucontext也就是用户上下文的知识,如果大家理解了,那么,可以继续学习后面的内容了,我会带大家实现一个协程。
学习开发协程的前置知识如下:
1、学过C语言
2、学过操作系统中进程的状态以及进程的调度
3、学过数据结构中的堆
4、学过计算机网络,最好有网络编程的经验
5、学过计算机组成原理,对cpu、内存、外存有一定的了解
6、学过汇编语言,对常用寄存器有一定的了解
3、学过如何用gdb调试程序,知道查看寄存器的值
4、学过C语言的内存模型
5、学过C语言的函数调用底层原理
当然,如果大家没有学习过上面的知识,我会尽可能的去解释它们。
学习开发协程的收获如下:
1、真正的理解swoole协程而非纸上谈兵
2、理解swoole协程的使用场景、为什么需要使用协程
3、为什么swoole推荐使用co::sleep()而不是sleep()来让协程sleep
4、理解swoole的协程和golang的协程的区别
5、理解swoole的协程之间访问全局的资源不需要加锁
6、还有其他