G —- P —— M
流程: go func()创建G -> 放入到P本地队列或者全局队列 -> 系统会唤醒或者创建一个M -> 调度循环方式不停执行G
概念
P process,类似于cpu核数,用来控制可同时并行执行的任务数量, P 为线程提供执行资源
G groutine, 入口函数, 栈空间,执行任务状态
M os thread, 系统会唤醒或者创建一个M来调度循环执行G。 将G保存的状态切换到M上,完成后保存状态到G上。 M本身不持有状态,可以多路复用。
golang 线程模型
最新推荐文章于 2023-04-19 23:32:36 发布