Skip to content

concurrency #444

@jt3k

Description

@jt3k

concurrency -- новое хитрое слово из области web-воркеров и распараллеливания потоков.

Часто переводят его как "конкурентность". Но как мне кажется перевод должен быть "параллелизм".

Если говорить конкретно, то мне не понравилось русское описание этого поста https://t.me/forwebdev/6133

Куча англо-русских словарей расшифровывает concurrency как параллелизм

В английской википедии одна из последних правок(23:08, 8 April 2021‎ Vitaly Zdanevich) добовляет к статье мнение некоего Rob Pike который говорит, что параллелизм это не конкарренси. Его мнение я конечно же не изучал.

Согласно Робу Пайку, concurrency - это композиция независимо выполняемых вычислений, и concurrency - это не parallelism: concurrency - это одновременное выполнение множества вещей, а parallelism - выполнение множества вещей одновременно. Concurrency - это структура, parallelism - это выполнение, concurrency обеспечивает способ структурирования решения для решения проблемы, которая может (но не обязательно) быть распараллеливаемой.

Оригинал According to Rob Pike, concurrency is the composition of independently executing computations,[2] and concurrency is not parallelism: concurrency is about dealing with lots of things at once but parallelism is about doing lots of things at once. Concurrency is about structure, parallelism is about execution, concurrency provides a way to structure a solution to solve a problem that may (but not necessarily) be parallelizable.

В русской википедии есть такой абзац:

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

Что ещё больше запутывает всех. :)

Давайте распутаем ?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions