Update 14.1.md

This commit is contained in:
glight2000
2015-12-24 10:52:02 +08:00
parent 87eeba5bb2
commit 6e04c75a94

View File

@@ -55,6 +55,30 @@ Go的并发原语提供了良好的并发设计基础表达程序结构以便
还有一些通过实验观察到的现象在一台1颗CPU的笔记本电脑上增加GOMAXPROCS到9会带来性能提升。在一台32核的机器上设置GOMAXPROCS=8会达到最好的性能在测试环境中更高的数值无法提升性能。如果设置一个很大的GOMAXPROCS只会带来轻微的性能下降设置GOMAXPROCS=100使用“top”命令和“H”选项查看到只有7个活动的线程。
增加GOMAXPROCS的数值对程序进行并发计算是有好处的
请看[goroutine_select2.go](examples/chapter_14/goroutine_select2.go)
总结GOMAXPROCS等同于并发的线程数凉在一台核心数多于1个的机器上会尽可能有等同于核心数的线程在并行运行。
## 14.1.4 如何用命令行指定使用的核心数量
使用`flags`包,如下:
```go
var numCores = flag.Int("n", 2, "number of CPU cores to use")
in main()
flag.Pars()
runtime.GOMAXPROCS(*numCores)
```
协程可以通过调用`runtime.Goexit()`来停止,尽管这样做几乎没有必要。
示例 14.1-[goroutine1.go](examples/chapter_14/goroutine1.go) 介绍了概念:
```go
```
## 链接