Multithreading vs concurency [дубликат]

261
11 декабря 2017, 15:17

На данный вопрос уже ответили:

  • Многопоточное vs асинхронное программирование 2 ответа

В чем разница между понятиями multithreading, concurency, parallelism разве это не одно и тоже

Answer 1

Multithreading (многопоточность) - это использование нескольких потоков. При этом вовсе не обязательно, что эти потоки будут выполняться одновременно (параллельно). В эру одноядерных процессоров многопоточность тоже активно использовалась, например, в приложениях с GUI: тяжёлые вычисления выносятся в отдельный поток, чтобы не "замерзал" gui-поток. При этом понятно, что эти потоки выполняются по очереди, не одновременно.

Parallelism (параллелизм, параллельность) - это использование нескольких потоков одновременно. Это возможно только в системах с несколькими ядрами/процессорами. Запускаются несколько потоков и они выполняются каждый на своём собственном ядре.

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

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

READ ALSO
Как спарсить данные 3х разных классов?

Как спарсить данные 3х разных классов?

Добрый деньПолучаю даннеы от сервера

207
Создание Collection с reflection Type

Создание Collection с reflection Type

Есть метод, который возвращает List< String > (возможен любой объект), но я не знаю об этом и выясняю тип следующим способом:

211
Как реализовать мини-бд вопрос-ответ?

Как реализовать мини-бд вопрос-ответ?

Я даже не могу нормально написать заголовок вопроса, тк

209
Cоздание объекта класса HWPFDocument

Cоздание объекта класса HWPFDocument

При попытке создания объекта класса, не выходит создать объект класса, ссылаясь на:

208