В чем разница между физически параллельными и логически связанными процессами ?
Предположим, что если у вас есть один основной процессор и предположим, что если у вас многопоточность в коде, он будет выглядеть так, как если бы он работал параллельно в нескольких разных процессорах; но на самом деле он использует один процессор, где квант времени выделяется каждому потоку циклически. В этом случае процессы (ИЛИ-потоки) работают параллельно параллельно, но на самом деле между процессами (потоками) существует много раз переключение контекста для имитации, как если бы они выполнялись одновременно.
Принимая во внимание, что если бы у вас было несколько ядер в вашем процессоре (или нескольких процессорах), ваш многопоточный код выполнялся бы параллельно на разных ядрах (или процессорах, если они есть) одновременно! В этом случае процессы выполняются параллельно параллельно.
Надеюсь, это очистит ваши сомнения! Не стесняйтесь спрашивать в случае дальнейших запросов.
Вы пропустили точку - одно ядро может поддерживать несколько потоков одновременно. – babon
@babon - Не могли бы вы подробно рассказать о том, что я пропустил здесь в своем ответе? –
Поток - это поток инструкций. Ядра, поддерживающие несколько потоков, могут обрабатывать несколько потоков одновременно. Вы можете проверить эту ссылку: http://superuser.com/questions/700430/what-does-2-core-4-threads-mean-in-cpu – babon