协程的关键思想在于控制流的让出和恢复
每个协程有自己的执行栈,可以保存自己的执行现场。
可以由用户程序按需创建协程,协程主动让出执行权时,会保存执行现场然后切换到其他协程;协程恢复执行时,会根据之前保存的执行现场,继续执行中断前的任务。
这样就实现了既轻量又灵活的由用户态进行调度的多任务模型。
因为用户程序不能操作内核空间,所以只能给协程分配用户栈,而操作系统对此一无所知,所以协程又被称为“用户态线程”。
Go里的协程是什么?
最新推荐文章于 2023-11-28 11:34:03 发布