在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/GO/ golang實(shí)現(xiàn)控制CPU使用率曲線的問題

golang實(shí)現(xiàn)控制CPU使用率曲線的問題

最近需要實(shí)現(xiàn)一個(gè)控制cpu使用率的功能,就是《編程之美》里面畫CPU曲線那個(gè)例子。
但是,找了半天好像沒有g(shù)olang實(shí)現(xiàn)的例子。

然后呢,就自己隨手丟了個(gè)死循環(huán),想看看100%的效果,結(jié)果撲了個(gè)空,只能壓到16%~17%左右。
好像是有點(diǎn)效果,但是差太遠(yuǎn)了。
(環(huán)境:8核 3.0GHZ win7 云主機(jī))

  runtime.GOMAXPROCS(1)
  for {
        // time.Sleep(800 * time.Millisecond)
  }
 

對(duì)比,C語言代碼

#include "stdafx.h"
#include "stdio.h"

int _tmain(int argc, _TCHAR* argv[])
{
 int i;
 while(true)
 {
  for(i=0;i<840000;++i)//840000是根據(jù)cpu 頻率算出來的,每個(gè)周期假設(shè)能出來2條匯編指令
   ;
  Sleep(10);
 }
 return 0;
}

是云主機(jī)在CPU使用方面有特殊處理呢?還是go語言的什么特性導(dǎo)致的?

求大神解答一下

回答
編輯回答
苦妄

因?yàn)間o自己實(shí)現(xiàn)的用戶態(tài)線程調(diào)度,死循環(huán)之類的并不會(huì)一直運(yùn)行,會(huì)根據(jù)調(diào)度算法讓出時(shí)間片,所以即使是死循環(huán)也不會(huì)像c那樣cpu 100%

2017年9月1日 01:18