用c語言編寫死迴圈能讓cpu使用率一直保持100嗎

2021-08-05 21:53:50 字數 1194 閱讀 1909

1樓:北方計算機學校

如果在單任務系統中執行,可以用c語言編寫一個死迴圈,讓cpu使用率一直保持在100%。

例如:while(true);

(注:dos 就是單任務作業系統)

如果在多工系統中執行,則不可能只通過一個死迴圈就讓cpu使用率一直保持在100%。

除了死迴圈,你還要讓你的程式獲得最高的優先順序。

如果是多處理器環境,你還要啟用多個執行緒來佔用每個處理器。

(注:windows 就是多工作業系統)

2樓:

實際上你寫的這個不是死迴圈,因為i的變化規律為1,2,...,max_int,-max_int-1,...,-1,0,所以最後會結束迴圈的。

第二個問題不知道

3樓:

毒不是這樣寫地。。。

別忘了如果你的程式真的佔100%cpu

而且沒有錯誤處理的話

它會被windows強行幹掉的。。。

你經常碰到 結束任務

就是這麼回事

4樓:羊刀賞金

槽點太多

編譯器會根據你的**進行優化,空迴圈可能會被直接幹掉如果有作業系統的話,作業系統不會把所有cpu時間給你的程序print這種io操作會被阻塞,在完成之前作業系統會把你掛起如果你真想用cpu煎雞蛋,有幾種方法

多建立cpu密集型的程序

在你的**中關閉時鐘中斷然後迴圈,放入作業系統核心,讓作業系統執行它(主要是要取得指令許可權

直接把作業系統幹掉,讓你的**佔用所有資源

5樓:匿名使用者

同意magipan的看法,死迴圈需要將i++;去掉。

其中這種死迴圈一般不會影響其他程式的執行,因為這只是一種阻塞方式,將處理器的空閒時間片佔滿,當其他程式需要使用處理器時,系統會將時間片分配給這些程式。

想讓系統宕機,可以考慮讓執行的指令數成幾何方式增長。

6樓:一家左

vista 後的作業系統,會因為你cpu的使用率過高,強行中止你的程序.

7樓:匿名使用者

不懷好意。。

告訴你把一條計算語句複製許多行。。 然後執行,保證你司機。。。

8樓:

int i=1;while(true)

用C語言編寫迴圈時總會出現死迴圈,請問該怎麼解決,謝謝

推算一下迴圈終bai止條件du 是否能達到就zhi可以了也就是 迴圈的 dao判斷條件的 發展方迴向 必須是逼近你的終答止條件的,要不就會死迴圈啊 用極限的思想 去思考啦 看極限是否 達到你的終止條件 高數裡有介紹 希望有幫助 對迴圈條件多檢查檢查,特別是臨界值要好好斟酌斟酌 出現死迴圈即意味著你對...

用c語言編寫,用c語言編寫

include int main void 這是一個簡單的c程式。第一行表示這個程式使用了stdio.h這個庫。int main void 是一個函式,即給定輸入,程式執行相應 並返回一個輸出。main是函式名 括號裡的是引數,即函式接受的輸入,void表示這個函式沒有輸入 int表示這個程式的返回...

無限迴圈和死迴圈的區別,C語言無限迴圈死迴圈區別

無限迴圈和死循復環的相同之處制就是都沒bai有結果值 不同du之處 1 無限迴圈是zhi指程式在執行過程中出現dao的無值結果,它的本質是程式可以正常迴圈,但產生的結果又無數個值 2 死迴圈是指程式在執行過程中產生的錯誤運算結果 導致程式無值判斷,因此他們程式執行結果是不一樣的。c語言無限迴圈 死迴...