本文摘自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吗的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
关于在c++中结构体与json字符串互转的问题
2021-04-19
java反射与golang反射简单对比
go cassandra 示例2
golang与java语法上的区别
最长公共子序列
解决golang结构体json的时间格式化
golang几种字符拼接性能分析
golang中“var”与“:=”的区别
arts #5
更多相关阅读请进入《golang》频道 >>
老貘
一个与时俱进的Go编程知识库。
转载请注明出处:木庄网络博客 » Golang能使用多核cpu吗