Поведение потоков на многоядерных машинах - PullRequest
0 голосов
/ 13 ноября 2009

Работают ли потоки одного процесса параллельно на многоядерном компьютере в Windows XP? Одинаково ли поведение в разных версиях Windows (Windows Server Editions)

Я слышал, что параллельно работают только потоки разных процессов.

Ответы [ 3 ]

6 голосов
/ 13 ноября 2009

Потоки в одном и том же процессе могут по-прежнему выполняться параллельно на многоядерном компьютере. Это должно относиться ко всем редакциям Windows, способным работать с .NET.

Откуда вы узнали, что только потоки в разных процессах могут работать параллельно? Обработайте этот источник информации огромным количеством соли в будущем (после проверки того, что они действительно сказали, и вы не поняли).

1 голос
/ 13 ноября 2009

Да, один процесс (обычно) будет запускать потоки на всех ядрах.

Вы можете легко увидеть это, запустив что-то занятое в двух потоках и посмотрев на TaskManager.

0 голосов
/ 15 ноября 2009

Да, они могут работать параллельно. Конечно, вы не можете рассчитывать на какое-либо конкретное поведение в отношении выделения и / или перемежения процессора, поскольку это зависит от прихотей планировщика, от того, что еще выполняется и т. Д.

...