Многопроцессорность означает запуск нескольких процессов в соответствии с алгоритмом планирования операционной системы. Современные операционные системы используют некоторые варианты разделения времени для запуска пользовательских процессов в псевдопараллельном режиме. При наличии нескольких процессоров ОС может воспользоваться ими и запустить некоторые процессы в реальном параллельном режиме.
Процессы в отличие от потоков не зависят друг от друга в отношении памяти и другого контекста процесса. Они могут общаться друг с другом, используя механизмы межпроцессного взаимодействия (IP C). Совместно используемые ресурсы могут быть выделены для процессов и требуют синхронизации уровня процесса для доступа к ним.
Потоки, с другой стороны, совместно используют то же место памяти и другой контекст процесса. Они могут получить доступ к одной и той же ячейке памяти и должны быть синхронизированы с использованием методов синхронизации потоков, таких как мьютексы и условные переменные.
И потоки, и процессы планируются операционной системой одинаково. Таким образом, приведенная вами цитата не совсем верна. Вам не нужно несколько процессоров для многопроцессорной обработки, однако они нужны, чтобы позволить нескольким процессам действительно работать одновременно. Процессов может быть столько же, сколько ядер, которые работают одновременно, однако другие процессы будут совместно использовать процессор также с разделением времени.