sync.Wait()
和 channles 都是连接点,而任何新 goroutine 都会创建子分支。fork-join 模型的 fork 阶段和 C 语言中的fork(2)
调用完全是两回事
n
个系统线程上,使用最多 GOMAXPROCS
个逻辑处理器。稍后您将了解 GOMAXPROCS
。GOMAXPROCS
个处理器。sync.Add()
,sync.Wait()
,和 sync.Done()
外,更多的 goroutines 由于需要 Go 调度器做额外工作会使您的程序变慢。Go 调度器,作为大多数 Go 组件总是在进化,就是说负责 Go 调度器的人不断努力改进它的性能,通过对它的工作方式做微小改变。然而这个核心原理保持一致