Вот такая проблема на ум пришла.
Есть несколько потоков, которых в основном ждут event и ничего не делают.
И вдруг два из них получают тяжелую задачу, отъедающую много процессорного времени: первый вычисляет while(true) { } , а второй сортирует пузырьком 2 млрд строк.
Может ли винда растащить два потока по разным ядрам, если они были созданы и выполнялись на каком-то одном?
Здравствуйте, ononim, Вы писали:
А>>Может ли винда растащить два потока по разным ядрам, если они были созданы и выполнялись на каком-то одном? O>да конечно
Когда потоки создаются, они не привязываются к конкретному ядру (если процесс не привязан), так что вопрос излишен. Но привязать можно руками (обычно не рекомендуется) см SetThreadAffinityMask.