В течение многих лет у меня было впечатление, что один процесс может использовать не более одного ядра ЦП, но недавно я обнаружил два примера, когда один процесс использовал все ядра многоядерной системы Windows.

Один из них легко проверить для большинства людей: http://fitgirl-repacks.site/donate-by-mining/

Отключив многопроцессорную функцию вашего браузера, настройка "ЦП потоков" на веб-странице остается в силе. Вы можете увидеть один процесс браузера, используя все ваши ядра процессора.

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

1 ответ1

1

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

Программа также может быть написана для разделения на отдельные процессы, каждый с одним или несколькими потоками для работы.

Существует очень тонкая, но реальная разница между многопоточностью и многопроцессорностью. Отключение многопроцессорной функциональности не отключает многопоточность, которая уже присутствовала.

Недавние обновления браузера, позволяющие использовать многопроцессорную функциональность, повышают безопасность и устойчивость к сбоям, разделяя потоки для отдельных страниц в их собственные процессы, каждый из которых может иметь несколько потоков, причем все они работают независимо.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .