2011-01-13 59 views
0

BOINC客戶端(像SETI @ home那樣執行分佈式處理作業)能夠根據其他進程是否正在使用某個百分比的CPU時間來開啓或關閉處理。也就是說,如果用戶開始做一些工作並且他們的進程開始使用60%的CPU,BOINC可以暫停以避免干擾用戶的工作。僅使用Objective-C程序的空閒CPU時間

我想做同樣的事情(監視其他進程的CPU使用情況)。我所看到的困難並不是監視CPU使用情況,而是確保信息不會因我自己的使用情況而出現偏差。例如,如果我的進程使用大量CPU時間,則可能會阻止另一個進程使用足夠的時間來觸發暫停。

有人能指出我正確的方向嗎?即使是尋找什麼的建議也是有用的。我不確定這個功能會被調用。

+0

只需從正常改變進程的優先級較低的沒有奇蹟。 – 0xHenry 2011-01-13 12:05:39

回答

0

您可以使用NSTask在流程啓動時設置流程的'nice'值。

另外[[NSThread mainThread] setThreadPriority:0.0]

其中優先級值是0.0和1.0之間的是可可API這可以節省您frakking關於與須藤

相關問題