Разница между параллелизмом и параллелизмом - PullRequest
0 голосов
/ 05 февраля 2019

Кто-то сказал, что:

Параллелизм подобен человеку, жонглирующему только одной рукой.Независимо от того, как кажется, человек держит только один мяч за раз.Параллелизм - это когда жонглер использует обе руки.

Я понимаю основные предположения.

Но кто-то может ссылаться?

Я имею в виду:

шары - нити?

рука - процесс / ядро?

человек - процессор / ядро?

Iзнаю, что это странный вопрос, но я считаю, что он может решить основную точку зрения на эту тему.

EDIT

Исходя из ваших ответов, я должен сказать, что я немного сбит с толку.

Я думал, что человек - это процесс.

Этот процесс может иметь много потоков.

Независимо от того, является ли компьютер одноядерным или многоядерным.

Таким образом, одна рука будет одним ядром.

То есть шары - это потоки.И это ядро ​​может обрабатывать только один поток одновременно.

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

Потоки переключаются между собой.Но одновременно работает только один поток.

Если имеется многоядерный процессор и много потоков, каждый поток может выполняться каждым ядром отдельно в одно и то же время, поэтому параллелизм присутствует.

Что ты думаешь?

Ответы [ 2 ]

0 голосов
/ 05 февраля 2019

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

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

Вот довольно простой пост, объясняющий эту концепцию https://www.quora.com/What-is-the-difference-between-concurrency-and-parallelism

0 голосов
/ 05 февраля 2019

Насколько я понимаю, вы спрашиваете о технических.Я нашел это хорошим объяснением:

В чем разница между параллельным программированием и параллельным программированием?

Here's a visual example. Threads on a non-threaded machine:

        --  --  --
     /              \
>---- --  --  --  -- ---->>
Threads on a threaded machine:

     ------
    /      \
>-------------->>

Если вам нравится gedamial ответь - покажи ему немного любви!

...