В чем именно разница между многопоточной обработкой и параллельной обработкой? - PullRequest
1 голос
/ 06 декабря 2009
  1. Одноядерные процессоры или машина с одним процессором не могут выполнять параллельную обработку. Правда / ложь?

  2. В одноядерном одноядерном ЦП могут выполняться только инструкции по сборке одного потока, независимо от того, сколько процессов запущено, сколько потоков запущено (исключая спящие потоки) в любой момент времени. True / False?

Извините за слишком много вопросов, они все кажутся связанными.

Ответы [ 3 ]

4 голосов
/ 06 декабря 2009

В одноядерном процессоре (без гиперпоточности) будет выполняться только один поток, да. Однако это не исключает параллельной обработки. Например, вы можете выполнить три задачи:

  • Тот, который делает большую сетевую активность
  • Тот, который делает много дисковой активности
  • Тот, который делает большую нагрузку на процессор

Выполнение этих трех параллельно с использованием потоков, безусловно, может повысить производительность даже на одноядерном компьютере. Операция с большим количеством ЦП должна будет ждать, когда одно из других действий будет обрабатывать еще несколько данных, но общий эффект - это параллельная обработка. Это в основном потому, что могут происходить «другие вещи» (перемещение головки диска, веб-служба, выполняющая некоторую работу на удаленной машине) без использования ЦП.

3 голосов
/ 06 декабря 2009
  1. Правда.

  2. True. Если есть только один процессор, то одновременно может выполняться только одна последовательность команд.

1 голос
/ 06 декабря 2009
  1. зависит от того, что вы подразумеваете под «параллельной» обработкой. Вам понадобится четкое описание, прежде чем вы сможете получить четкий ответ.

  2. в общем случае верно, но ...

Обратите внимание, что некоторые процессоры поддерживают гиперпоточность, когда один процессор с одним ядром представляет собой два "виртуальных" ядра. Это позволяет процессору выполнять инструкции в одном потоке, пока другой ожидает доступа к памяти и т. Д.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...