English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La granularité de la concurrence dans Erlang est un processus. Un processus est une activité qui s'exécute en même temps qu'autres processus et est indépendante des autres processus./Tâche. Les processus dans Erlang diffèrent des processus et des threads familiers à la plupart des gens. Les processus Erlang sont légers, exécutent en isolation avec d'autres processus (mémoire) et sont planifiés par le VM (Virtual Machine) Erlang. Le temps de création des processus est très court, et la mémoire utilisée par les processus générés est très petite. Un seul VM Erlang peut exécuter des millions de processus.
Créer un processus à l'aide de la méthode spawn. La syntaxe générale de cette méthode est la suivante.
spawn(Module, Nom, Args)
Module −C'est une valeur atomique prédéfinie, qui doit être ?MODULE.
Nom −C'est le nom de la fonction à appeler lors de la définition du processus.
Args −Ces sont les paramètres à envoyer à la fonction.
Retourne l'ID de processus créé.
Le programme suivant montre un exemple de la méthode 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]).
Il faut noter les points suivants concernant le programme susmentionné.
Une fonction appelée call est définie, qui sera utilisée pour créer le processus.
La méthode spawn utilise les paramètres hello et process pour appeler la fonction call.
Résultat de la sortie
Lorsque nous exécutons le programme ci-dessus, nous obtenons les résultats suivants.
<0.29.0>"hello" "process"
Maintenant, regardons les autres fonctionnalités disponibles pour le processus.
Numéro | Méthode et description |
---|---|
1 | Cette méthode est utilisée pour déterminer si l'identifiant de processus existe. |
2 | C'est ce qui s'appelle is_process_alive(Pid). Un Pid doit faire référence à un processus sur un nœud local. |
3 | Il convertit l'identifiant de processus en liste. |
4 | Retourne une liste contenant les noms de tous les processus enregistrés. |
5 | L'un des BIF les plus courants, retourne le pid du processus appelant. |
6 | Utilisé pour enregistrer un processus dans le système. |
7 | Il est appelé whereis (Nom). Retourne le pid du processus enregistré sous ce nom. |
8 | Utilisé pour désenregistrer un processus dans le système. |