1、解释下G、M、P分别代表什么?
G:是goroutine的缩写,一个G代表一个Go代码片段;
M:是machine的缩写,一个M代表一个内核线程,也称工作线程;
P:是processor的缩写,一个P代表执行一个Go代码片段所必须的资源;
2、使用go关键字生成的goroutine是放置在P中,还是M中?
当一个G被创建并初始化完成后会立即被存储到本地P的runnext字段中,因为G必须先被添加入到P的可以运行G队列中才能在M中运行。
Keep doing what you want, never give up.
G:是goroutine的缩写,一个G代表一个Go代码片段;
M:是machine的缩写,一个M代表一个内核线程,也称工作线程;
P:是processor的缩写,一个P代表执行一个Go代码片段所必须的资源;
当一个G被创建并初始化完成后会立即被存储到本地P的runnext字段中,因为G必须先被添加入到P的可以运行G队列中才能在M中运行。