Обратите внимание, что вы можете установить приоритеты потоков (SetThreadPriority
)
Кроме того, я советую фоновщику выбрать работу из очереди. Затем очередь можно использовать как способ регулирования вычислений:
- вы можете настроить, сколько «задач» будет взято из очереди для обработки одним махом
- вы можете заблокировать очередь (использовать семафоры + условие условия), чтобы вы могли временно запретить захват новых задач.
- теперь вы можете распределить нагрузку между несколькими рабочими (скажем, если потоки B, C, D временно простаивают, они могут начать снимать работу с потока A; очень полезно на Quad-core + рабочий стол)
$ 0,02