目录
GO语言的协程是其最大的特点之一,也是它厉害的一把利器,了解协程调度和执行,对于理解和学习GO原因是非常有帮助的。
1,协程是什么?
协程是一种轻量级的线程,它可以实现并发执行的并行操作。协程使得程序能够以并发的方式运行,并且非常高效。与传统的线程相比,协程的创建和销毁成本非常低,可以方便地启动大量的协程来执行并行操作。
Golang的协程不同于其他语言中的线程或进程,它们是由Go语言的运行时系统调度的。协程的调度是基于协作式的,即协程自己主动让出CPU的控制权,而不是依赖于操作系统的调度器。
2,协程的调度方式
GO语言的协程调度是通过GMP模型方式实现的。
2.1,GMP是什么?
GO语言的协程调度是通过GMP模型方式实现的,其中
G是指协程(goroutine),包括栈信息,代码指