Вопрос о Environment.ProcessorCount

Мне интересно, что возвращает свойство .NET Environment.ProcessorCount. Возвращает ли количество ядер, количество процессоров или и то, и другое? Если бы на моем компьютере было 2 процессора, каждый с 4 ядрами, Environment.ProcessorCount возвращал 2, 4 или 8?

Ответ 1

Он вернет переменную окружения NUMBER_OF_PROCESSORS. (см. MSDN)

Это будет равно количеству логических ядер, то есть если у вас есть однопроцессорный процессор с поддержкой HT, он вернет 2.

В вашем случае он должен вернуть 8.

Это будет тот же номер, что и количество графиков использования CPU, которые вы увидите в диспетчере задач.

Ответ 2

Он возвращает количество логических процессоров, поэтому 8 в вашем примере.

Ответ 3

Если на моем компьютере было 2 процессора, каждый с 4 ядрами, Environment.ProcessorCount return 2, 4 или 8?

Он возвращает 8, в моем случае в любом случае. (Core i7 860 cpu).