本文摘自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如何判断字符串是否为空
golang byte是什么
golang是多线程模式吗?
聊聊dubbo-go-proxy的jtypes
聊聊golang的ddd项目结构
手撸golang 基本数据结构与算法 选择排序
go orm 干啥的?
19 golang包以及go mod
golang如何做一个服务器?
利用go实现快看漫画网页版自动点击“下一话”,中间无需手动操作,但有一点疑惑,望大佬们解答。
更多相关阅读请进入《golang》频道 >>
老貘
一个与时俱进的Go编程知识库。
转载请注明出处:木庄网络博客 » Golang能使用多核cpu吗