Unetway

Erlang - Processes

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

Процесс создается с помощью метода spawn. Общий синтаксис метода приведен ниже.

spawn(Module, Name, Args)
  • Module - это предопределенное значение атома, которое должно быть? MODULE.
  • Name - это имя функции, которая будет вызываться при определении процесса.
  • Args - это аргументы, которые необходимо отправить функции.
is_pid Этот метод используется для определения наличия идентификатора процесса.
is_process_alive Это называется is_process_alive (Pid). Pid должен ссылаться на процесс на локальном узле.
pid_to_list Он преобразует идентификатор процесса в список.
registered Возвращает список с именами всех зарегистрированных процессов.
self Один из наиболее часто используемых BIF, возвращает pid вызывающих процессов.
register Это используется для регистрации процесса в системе.
whereis Он называется whereis (Name). Возвращает pid процесса, зарегистрированного с именем.
unregister Это используется для отмены регистрации процесса в системе.