Skip to content

Latest commit

 

History

History
7 lines (4 loc) · 920 Bytes

怎么控制CPU的数量.md

File metadata and controls

7 lines (4 loc) · 920 Bytes

怎么控制CPU的数量?

多个CPU能够同时执行多个协程,具体的控制通过改变GOMAXPROCS参数设置,默认是当前cpu的核数。如果程序有并行执行的可能,程序应在多CPU机器上实现。要更改使用的并行CPU的数量,请设置环境变量或使用运行时(runtime)包的类似命名功能来配置,来支持不同数量的线程。将其设置为1,表示取消并行,强制Goroutines轮流执行(串行了)。

运行时可以分配比GomaxProcs的值更多的线程来服务多个未完成的I / O请求。 GomaxProcs仅影响Goroutines在一次执行的数量。参数随意设置的话,可能导致系统调用阻塞。

Go的Goroutine 调度还不是很完美,尽管它一直在改善。 将来,它会更好地优化OS线程使用方面。 目前,如果存在性能问题,则按应用程序的基础设置GomaxProcs,可能有所帮助。