MPG M —主线程 P—协程执行所需上下文 G—协程 状态1: 1)有三个M,作用在同一个cpu并发,作用在多个cpu为并行 2)Go协程是轻量级的,可以很容易起上万个协程 状态2: M0在运行G0时被阻塞,会创建另一个M1主线程,将其余的G1,G2挂到M1下面 设置Cpu数目 package main import( "runtime" "fmt" ) func main(){ cpuNum := runtime.NumCPU