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語言無限迴圈 死迴...