Модель параллелизма Erlang основана на следующих предпосылках:
Легкий параллелизм . Вы должны иметь возможность эффективно создавать столько процессов, сколько вам нужно для вашего приложения, и вы должны быть в состоянии эффективно создавать и удалять их при необходимости. Это означает, что процессы легки и малы, и нет необходимости иметь пул процессов для экономии времени.
Асинхронная связь . Все взаимодействие между процессами происходит через асинхронную передачу сообщений, вот и все, ничего больше, нада.
Обработка ошибок . Так же, как облегченный параллелизм и асинхронные сообщения являются основополагающими для построения параллельных систем, обработка ошибок имеет основополагающее значение для построения надежных систем. Примитивы для этого взаимодействуют с параллелизмом и являются частью модели параллелизма Эрланга.
Изоляция процесса . Между процессами вообще нет общего состояния, единственный способ связи - передача сообщений. Это имеет основополагающее значение для возможности создания надежных систем, поскольку позволяет сбоям процессов, не разрушая их для других процессов. Конечно, они могут получать информацию о том, что процесс завершился с помощью механизма обработки ошибок, но сбой никогда не приведет к противоречивому состоянию в других процессах. Следствием этого является отсутствие глобальных данных.
Это фундаментальные предпосылки для модели параллелизма Эрланга. Вы можете часто видеть их выраженными по-разному, но в основном они одинаковы. Erlang также имеет неизменные данные, которые являются БОЛЬШИМ ВЫИГРЫШОМ, но это не является частью модели параллелизма, достаточно передачи сообщений и изоляции процесса. В некоторых кругах это можно считать еретической точкой зрения.
Как видите, актеры - это только часть модели. Обработка ошибок является фундаментальной, но часто упускается из виду. Пропуск этого означает, что вы пропустили часть пункта.
N.B. Процессы Эрланга - это правильные процессы / потоки, поскольку они имеют собственную жизнь и являются не просто формой сопрограмм, управляемых событиями. Процесс может с радостью заниматься своим бизнесом и изменять свое внутреннее состояние, не руководствуясь внешними событиями.