本文摘自php中文网,作者angryTom,侵删。

Golang能使用多核cpu吗
Golang能使用多核cpu。对于多核编程,go是天生支持,那么我们在什么情况下应该用多核心来加速程序呢?
相关推荐:golang教程
我们来看如下程序:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | package main
import (
"runtime"
"fmt"
"sync"
"time"
)
var waitgroup sync.WaitGroup
func xtgxiso(num int) {
for i:=1;i<=1000000000;i++{
num = num+i
num = num-i
num = num*i
num = num/i
}
waitgroup.Done()
}
func main() {
start := time.Now()
runtime.GOMAXPROCS(1)
for i := 1; i <= 10; i++ {
waitgroup.Add(1)
go xtgxiso(i)
}
waitgroup.Wait()
end := time.Now()
fmt.Println( end .Sub(start).Seconds())
}
|
我们可以通过“runtime.GOMAXPROCS(1)”来设置是单核还是多核心执行,对比结果发现,多核明显比单核快,所以对于CPU的运行上,多核运行加速效果是很明显的。
PHP中文网,大量编程教程、数据库管理工具navicat教程,欢迎学习!
以上就是Golang能使用多核cpu吗的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
手撸golang go与微服务 net.rpc之2
学习sync.map的总结
go语言标准库之context
分享一款golang style语法的golang orm库
golang实现php常用函数
golang中定义不定长数组的方法
go那些事之helloworld结构
golang 如何开启协程
golang环境怎么安装
手撸golang go与微服务 saga模式之7
更多相关阅读请进入《golang》频道 >>
老貘
一个与时俱进的Go编程知识库。
转载请注明出处:木庄网络博客 » Golang能使用多核cpu吗