stringtranslate.com

Список языков параллельного и синхронного программирования

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

Следующие категории направлены на то, чтобы охватить основные, определяющие особенности содержащихся в них языков, но они не обязательно являются ортогональными.

Координационные языки

Программирование потока данных

Распределенные вычисления

Описание событий и оборудования

Функциональное программирование

Логическое программирование

На основе монитора

Многопоточный

Объектно-ориентированное программирование

Разделенное глобальное адресное пространство (PGAS)

Передача сообщений

Модель актера

на основе CSP

API/фреймворки

Эти интерфейсы прикладного программирования поддерживают параллелизм в хост-языках.

Смотрите также

Ссылки

  1. ^ Том Фрювирт (9 июля 2009 г.). Правила обработки ограничений. Cambridge University Press. ISBN 978-0-521-87776-3.
  2. ^ «Использование потоков для одновременного выполнения кода — язык программирования Rust». doc.rust-lang.org . Получено 11 октября 2022 г.
  3. ^ Документация » Стандартная библиотека Python » Параллельное выполнение
  4. ^ «Использование передачи сообщений для передачи данных между потоками — язык программирования Rust». doc.rust-lang.org . Получено 11 октября 2022 г.
  5. ^ Алан Кей Ранняя история Smalltalk
  6. ^ "Crystal Programming Language – Concurrency" . Получено 10 августа 2018 г. .