Использование только свободного времени процессора с программой Objective-C - PullRequest
0 голосов
/ 13 января 2011

Клиент BOINC (выполняет задания распределенной обработки, как это делает SETI @ home) может включать или выключать обработку в зависимости от того, использует ли другие процессы определенный процент процессорного времени. То есть, если пользователь начинает выполнять некоторую работу и его процессы начинают использовать 60% ЦП, BOINC может приостановить работу, чтобы не мешать работе пользователя.

Я хотел бы сделать то же самое (контролировать использование процессора другими процессами). Трудность, которую я вижу, заключается не в мониторинге загрузки процессора, а в том, чтобы убедиться, что информация не искажена моим собственным использованием. Например, если мой процесс использует тонну процессорного времени, это может помешать другому процессу использовать достаточно для запуска паузы.

Может ли кто-нибудь указать мне правильное направление? Даже предложение о том, что искать, было бы полезно. Я не совсем уверен, как эта функция будет называться.

1 Ответ

0 голосов
/ 13 января 2011

Вы можете использовать NSTask, чтобы установить «хорошее» значение процесса, когда ваш процесс запускается.

Также [[NSThread mainThread] setThreadPriority:0.0]

где значение приоритета от 0,0 до 1,0 - это API-интерфейс Cocoa, который может спасти вас от использования sudo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...