Go Scheduler and Memory Model G/M/P Model Work Stealing Goroutine Stack Copying Blocking Syscall M detached, new M spawned Go Memory Model go.dev/ref/mem happens-before guarantees Escape Analysis go build -gcflags=’-m’