我想在Windows上使用c + +和msvc2010寫一個小警報計時器。計時器需要在幾分鐘後觸發狀態消息。我知道如何使用C++檢查系統時間,我知道windows api中有睡眠功能。我怎樣才能用很少的CPU負載實現一個計時器?例如,我不想每隔幾毫秒檢查一次系統時間,以在觸發時間到達時觸發狀態消息。當在一個額外的線程中使用諸如睡眠(600000)之類的東西時,是否創建cpu加載,或者是否有更有效的方法等待幾分鐘,然後再執行一些代碼?c + +警報計時器,只有很少的CPU負載
0
A
回答
1
你的確可以忙着等待並輪詢時間。即使是Sleep(1)
也足以讓您的程序幾乎無法衡量。
我曾經這樣做「回到當天」,甚至在我的PII 233 Mhz上運行多線程這樣做,它幾乎不會影響CPU使用率。
1
你可以創建一個線程,寫一個連續的循環,在這個循環中你只需要在觸發器需要運行的時間間隔內休眠,然後打印消息。如果你需要在2分鐘內運行它,爲什麼選擇多個小睡眠值並檢查時間?這會浪費CPU時間。
相關問題
- 1. c#HTTP請求的CPU負載很高
- 2. 負載的服務器有2個CPU
- 3. 計時器警報 - 修正
- 4. jffs2_gcd_mtd1 CPU負載
- 5. AngularJS中的警報計時器值
- 6. Azure負載均衡警報規則
- 7. Java socket偵聽器100%的CPU負載
- 8. 帶有播放框架的CPU負載
- 9. 帶有WiredTiger的MongoDB 3:高CPU負載
- 10. 在很少的GCE節點上負載均衡很多服務
- 11. 如何計算CPU平均負載在C#.NET
- 12. 實時總CPU平均負載命令
- 13. CPU負載和CPU溫度的C++代碼
- 14. 高Mysql的負載 - CPU 360%
- 15. 檔案Java的CPU負載
- 16. 負分類很少時F分數
- 17. Php7.0-fpm高負載CPU
- 18. 負載只有一個服務器
- 19. Android ListView和CPU負載
- 20. IIS高CPU負載:GetMetaDataInternalInterfaceFromPublic + 0x935c
- 21. MongoDB副本集CPU負載
- 22. Linux CPU /內存負載圖
- 23. DispatcherTimer和高CPU負載
- 24. AS3在幀負載減少倒計時時間
- 25. 警報或CONSOLE.LOG不從動態工作負載的JavaScript
- 26. 的JavaScript計算器警報不按0
- 27. 爲什麼ASP.net網站只有很少的訪問者需要高CPU?
- 28. 負載interact.js只有一次
- 29. 我的程序的CPU負載
- 30. 效果只有很少的令牌
感謝您對數學家1975和Joachim Pileborg的快速反應。所以創建線程並使用sleep(600000)等待10分鐘不是最糟糕的主意?我可以接受100毫秒的誤差。 – wildcat 2013-03-16 17:04:57
@ user1993851恰恰相反,你的程序在大約十分鐘內什麼都不會做,沒有任何東西我根本沒有任何意義。 – 2013-03-16 17:06:21
好的,謝謝.. – wildcat 2013-03-16 17:08:53