Golang(三)Goroutine原理
Goroutine 并发调度通过 GPM 模型实现,包含四个结构:M、G、P、Sched: M:代表内核级线程,一个 M 对应一个线程 G:代表一个 Goroutine,包含自己的栈、程序计数器等信息 P:指处理器,主要用途是用来执行 Goroutine,维护一个 Goroutine 队列,同时还有一个全局队列。每一个运行的 M 都必须绑定一个 P,就像线程必须在么一个 cpu 核上执行一样 Sched:代表调度器,维护 M 和 G 的队列和状态信息