Ограничение нагрузки на систему

Автор Илья Богук, 16-09-2014, 15:31:00

« назад - далее »

Илья БогукTopic starter

Добрый день.
В программе есть функция производящая тяжёлые вычисления. Вся задача разбивается на подзадачи которые выстраиваются в очередь. Есть рабочие потоки число которых равно числу ядер в процессоре. Эти потоки читают задания из очереди и производят расчёт. В такой конфигурации нагрузка всегда 100%, надо как то позволить пользователю ограничивать нагрузку на систему. Первое что пришло в голову это замерять время выполненеия одной итерации расчёта в потоке и между ними вставлять паузы соответственно необходимому снижению нагрузки, например если время простоя == времени расчёта то наверно загрузка будет 50% (если интервалы достаточно короткие). Может кто то подскажет ещё какие-нибуть идеи?
Заранее спасибо.
  •