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