程式設計之美 1 1 Windows控制CPU占有率

2021-09-07 21:19:25 字數 1065 閱讀 8031

1.1 讓cpu占有率聽你指揮

題目:windows環境下,寫乙個程式控制cpu占有率,具體

cpu的占有率固定在50%,為一條直線。

cpu占有率為一條直線,具體引數可調。

cpu占有率呈一條正弦曲線。

解題思路:

任務監控器下cpu占有率是1秒進行一次取樣的。讓cpu工作指定時間,休息指定時間就可以控制占有率曲線。

其中指定休息時間可以使用sleep()函式,工作指定時間則需要計算。在此使用gettickcount()。

對於現在電腦都是多核的情況,需要指定某個cpu執行程式,使用api setthreadaffinitymask()。

cpu占有率為一條直線,具體引數可調。原始碼:

void setcpuuse(int use)

}int main()

cpu占有率呈一條正弦曲線,原始碼:
int main()

總結:用到的api

gettickcount();

功能:返回系統開機以來執行的毫秒數。

bool winapi getlogicalprocessorinformation(out_writes_bytes_to_opt(*returnedlength, *returnedlength) psystem_logical_processor_information buffer, inout pdword returnedlength);

功能:獲取處理器資訊。

winapi setthreadaffinitymask(in_ handle hthread,in dword_pt dwthreadaffinitymask);

功能:設定某個執行緒執行在某個cpu上,dwthreadaffinitymask為cpu掩碼,具體對應關係可以自己嘗試。

11 Windows程式設計 定時器

週期性的傳送wwl timer訊息的乙個東西,這個週期可以由程式設計師自己設定。設定週期的數是settimer,停止定時器訊息傳送的函式是 killximer 定時器訊息的特點 1.不準確 也就是說,你設定的週期是1秒,那麼有可能在980毫秒的時候,這個wm timer訊息就來了,也有可能1010毫...

程式設計之美 set 11 買書問題

題目 書店搞 同時購買多卷書時,有機會享受優惠 2本優惠 5 3本 10 4 本 20 5 本 25 設計演算法,求解購買一本書的最低 分析 1.第乙個感覺是一次購買的越多省錢越多,即貪心的思想,但這樣的思路對不對呢?考慮下面乙個案例 購買兩本卷一,兩本卷二,兩本卷三,一本卷四卷五 假如按照貪心的思...

推薦《程式設計之美》

推薦 程式設計之美 我很早知道鄒欣計畫要寫這樣一本書,也能夠預計到這本書定會廣受歡迎,因為它符合當前大量求職人員的需求,畢竟於他們而言,誰不想知道微軟亞洲研究院在招人時候問些什麼問題呢。另一方面,把考察軟體技術人員專業知識和相應技能的各種手段加以歸納和整理,這本身也是對業界的貢獻,所以,我相信,一旦...