前言

Go语言中的GMP线程模型对两级线程模型进行了一定程度的改进,它由主要三个模块构成:

模块 说明
Goroutine 轻量级的用户线程,并行的最大数量等于P的数量
Machine 一个Machine对应一个内核线程,相当于内核线程在Go语言进程中的映射,且运行过程中M和内核线程之间对应关系不会改变
Processor 承上启下的一个调度器

如下图所示:
upload successful

参考

小徐先生的编程世界-Golang GMP原理