1/3
腾讯频道 - Go基础 - Go语言的调度器是Go运行时系统的一部分,负责管理...
腾讯频道 - Go基础 - Go语言的调度器是Go运行时系统的一部分,负责管理...
腾讯频道 - Go基础 - Go语言的调度器是Go运行时系统的一部分,负责管理...
Go语言的调度器是Go运行时系统的一部分,负责管理和调度Go Routine的执行。
Go语言的调度器设计采用了三级模型:G、P、M。

G: Go Routine,代表一个待执行的任务。
P: Processor,处理器,代表Go语言的调度上下文环境,每个P都有一个本地的Go Routine队列,并且每个P在同一时间只能被一个线程(M)所拥有。
M: Machine,代表一个操作系统的线程。
Go语言的调度器采用了M:N的调度模型,也就是说,M个Go Routine会被N个操作系统线程所调度和执行。
站在CPU的角度,一个线程可以持久的占用住CPU,Go Routine并发的使用一个线程资源去执行任务,减少线程调度带来的资源消耗。
#Go
2024-10-30
浏览8
登录后评论
评论
分享