English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Erlang-Prozess

Online-Tools/Die Granularität derConcurrency in Erlang ist ein Prozess. Ein Prozess ist eine Aktivität, die gleichzeitig mit anderen Prozessen läuft und unabhängig von anderen Prozessen ist

Aufgaben. Diese Prozesse in Erlang unterscheiden sich von den Prozessen und Threads, die die meisten Menschen kennen. Erlang-Prozesse sind leichtgewichtig, laufen isoliert von anderen Prozessen (Speicher) und werden vom Erlang-Virtualmachine (VM) ges调度. Die Erstellung von Prozessen dauert sehr kurz und der Speicherbedarf der neu erstellten Prozesse ist sehr gering, eine einzelne Erlang-VM kann Millionen von Prozessen ausführen.

Mit der Methode spawn wird ein Prozess erstellt. Die allgemeine Syntax ist wie folgt.

Syntax

spawn(Modul, Name, Args)

  • Parameter Modul

  • −Das ist der vorgegebene atomare Wert, der ?MODULE sein muss. Name

  • −Das ist der Name der Funktion, die beim Definieren des Prozesses aufgerufen wird. Args

−Diese sind die Parameter, die an die Funktion gesendet werden müssen.

Rückgabewert

Das folgende Programm zeigt ein Beispiel für die Methode spawn.

-module(helloworld). 
-export([start/0, call/2]). 
call(Arg1, Arg2) -> 
   io:format("~p ~p~n", [Arg1, Arg2]). 
start() -> 
   Pid = spawn(?MODULE, call, ["hello", "process"]). 
   io:fwrite("~p",[Pid]).

Bitte beachten Sie folgende Punkte bezüglich des oben genannten Programms.

  • Es wurde eine als call bezeichnete Funktion definiert, die zur Erstellung von Prozessen verwendet wird.

  • Die spawn-Methode ruft die call-Funktion mit den Parametern hello und process auf.

Ausgabenergebnis

Wenn wir das obige Programm ausführen, erhalten wir die folgenden Ergebnisse.

<0.29.0>"hello" "process"

Lassen Sie uns nun andere Funktionen betrachten, die für Prozesse verfügbar sind.

NummerMethode und Beschreibung
1

is_pid

Diese Methode wird verwendet, um zu bestimmen, ob ein Prozessid existiert.

2

is_process_alive

Es wird is_process_alive(Pid) genannt. Ein Pid muss auf einen Prozess auf dem lokalen Knoten verweisen.

3

pid_to_list

Es wird pid_to_list genannt. Es wandelt den Prozess id in eine Liste um.

4

registered

Es gibt eine Liste der Namen aller registrierten Prozesse zurück.

5

self

Einer der häufigsten BIF, der den pid des aufrufenden Prozesses zurückgibt.

6

register

Verwenden Sie dies, um einen Prozess im System zu registrieren.

7

whereis

Es wird whereis (Name) genannt. Es gibt den pid des Prozesses zurück, der mit diesem Namen registriert ist.

8

unregister

Verwenden Sie dies, um Prozesse im System abzumelden.