From afeed5b8c1d98da6b67d851ba5828a306851356e Mon Sep 17 00:00:00 2001 From: glight2000 <173959153@qq.com> Date: Wed, 23 Dec 2015 19:47:38 +0800 Subject: [PATCH] Update 14.1.md --- eBook/14.1.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/eBook/14.1.md b/eBook/14.1.md index 86c2b76..23e13e4 100644 --- a/eBook/14.1.md +++ b/eBook/14.1.md @@ -47,6 +47,9 @@ Go的并发原语提供了良好的并发设计基础:表达程序结构以便 并且只有gc编译器真正实现了协程,适当的把协程映射到操作系统线程。使用`gccgo`编译器,会为每一个协程创建操作系统线程。 +## 14.1.3 使用GOMAXPROCS + +在gc编译器下(6g或者8g)你必须设置GOMAXPROCS为一个大于默认值1的数值来允许运行时支持使用多于1个的操作系统线程,所有的协程都会共享同一个线程除非将GOMAXPROCS设置为一个大于1的数。当GOMAXPROCS大于1时,会有一个线程池管理许多的线程。通过`gccgo`编译器GOMAXPROCS有效的与运行中的协程数量相等。假设n是机器上处理器或者核心的数量。如果你设置环境变量GOMAXPROCS>=n,或者执行`runtime.GOMAXPROCS(n)`,接下来协程会被分割(分散)到n个处理器上。 ## 链接