English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
Syntax
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
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.
Nummer | Methode und Beschreibung |
---|---|
1 | Diese Methode wird verwendet, um zu bestimmen, ob ein Prozessid existiert. |
2 | Es wird is_process_alive(Pid) genannt. Ein Pid muss auf einen Prozess auf dem lokalen Knoten verweisen. |
3 | Es wird pid_to_list genannt. Es wandelt den Prozess id in eine Liste um. |
4 | Es gibt eine Liste der Namen aller registrierten Prozesse zurück. |
5 | Einer der häufigsten BIF, der den pid des aufrufenden Prozesses zurückgibt. |
6 | Verwenden Sie dies, um einen Prozess im System zu registrieren. |
7 | Es wird whereis (Name) genannt. Es gibt den pid des Prozesses zurück, der mit diesem Namen registriert ist. |
8 | Verwenden Sie dies, um Prozesse im System abzumelden. |