真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Golang中cpu使用設(shè)置的示例分析

這篇文章給大家分享的是有關(guān)Golang中cpu使用設(shè)置的示例分析的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

創(chuàng)新互聯(lián)-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比敖漢網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式敖漢網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋敖漢地區(qū)。費(fèi)用合理售后完善,十余年實(shí)體公司更值得信賴(lài)。

以下測(cè)試,使用的Go版本是1.8.3

不設(shè)置

如果沒(méi)有調(diào)用runtime.GOMAXPROCS 去設(shè)置CPU,Golang默認(rèn)使用所有的cpu核。

測(cè)試機(jī)器CPU有4個(gè)核,測(cè)試代碼開(kāi)啟4個(gè)goroutine,從測(cè)試結(jié)果看4個(gè)核心全部跑滿(mǎn)。

測(cè)試代碼如下:

package main

func main()  {
	go task()
	go task()
	go task()
	go task()

	select{}

}


func task(){

	for {	
	
	}

}

設(shè)置CPU使用

func GOMAXPROCS(n int) int

GOMAXPROCS sets the maximum number of CPUs that can be executing simultaneously and returns the previous setting. If n < 1, it does not change the current setting.

設(shè)置并發(fā)執(zhí)行時(shí)使用的CPU的數(shù)目

例如,設(shè)置只使用1個(gè)核心

runtime.GOMAXPROCS(1)

設(shè)置只使用2個(gè)核心

runtime.GOMAXPROCS(2)

測(cè)試代碼如下,只設(shè)置一個(gè)核心:

package main

import (
	"runtime"
)

func main()  {
    runtime.GOMAXPROCS(1)
	go task()
	go task()
	go task()
	go task()

	select{}
}


func task(){
	for {	
	
	}
}

有時(shí)候,我們常用到:

runtime.GOMAXPROCS(runtime.NumCPU())

func NumCPU() int
NumCPU returns the number of logical CPUs usable by the current process.

函數(shù)返回當(dāng)前進(jìn)程可用的邏輯CPU數(shù)目

目前測(cè)試下來(lái),使用這個(gè)設(shè)置CPU,效果和不調(diào)用GOMAXPROCS效果一樣,就是使用所有的CPU核心數(shù)。

2020.1.1 補(bǔ)充更新

最新測(cè)試結(jié)果:

測(cè)試機(jī)器:MAC CPU 8核
版本:go version go1.13 darwin/amd64

1.不使用GOMAXPROCS 設(shè)置CPU
8 個(gè)goroutine,可以跑滿(mǎn)8個(gè)核, CPU使用最高達(dá)到800%

2.使用GOMAXPROCS 設(shè)置CPU
8 個(gè)goroutine
- 設(shè)置只使用1個(gè)核, CPU使用最高達(dá)到100%
- 設(shè)置只使用2個(gè)核,CPU使用最高達(dá)到200%

也就是說(shuō)GOMAXPROCS可以用來(lái)設(shè)置程序使用的最多CPU核數(shù)。

感謝各位的閱讀!關(guān)于“Golang中cpu使用設(shè)置的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!


分享標(biāo)題:Golang中cpu使用設(shè)置的示例分析
標(biāo)題網(wǎng)址:http://weahome.cn/article/pcgjdc.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部