Erlang中的这些过程与大多数人熟悉的过程和线程不同, Erlang进程是轻量级的,与其他进程(内存)隔离运行,并且由Erlang的虚拟机(VM)调度。进程的创建时间非常短,刚生成的进程的内存占用非常小,单个Erlang VM可以运行数百万个进程。
借助spawn方法创建一个进程。该方法的一般语法如下。
spawn(Module, Name, Args)
Module - 这是预定义的原子值,必须为?MODULE。
name - 这是定义流程时要调用的函数的名称。
Args - 这些是需要发送给函数的参数。
返回值
返回创建的新进程的进程ID。
-module(helloLearnfk). -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]).
当我们运行上面的程序时,我们将得到以下输出。
<0.29.0>"hello" "process"
现在,让我们看一下其他功能。
Sr.No. | Methods & 描述 |
---|---|
1 |
is_pid 此方法用于确定进程ID是否存在。 |
2 |
is_process_alive 这称为is_process_alive(Pid)。 Pid必须引用本地节点上的进程。 |
3 |
pid_to_list 它将进程ID转换为列表。 |
4 |
registered 返回带有所有已注册进程名称的列表。 |
5 |
self 最常用的BIF之一,返回调用进程的pid。 |
6 |
register 这用于在系统中注册进程。 |
7 |
whereis 它称为whereis(Name)。返回使用该名称注册的进程的pid。 |
8 |
unregister 这用于注销系统中的进程。 |
参考链接
https://www.learnfk.com/erlang/erlang-processes.html
标签:教程,process,pid,Pid,无涯,call,进程,Erlang From: https://blog.51cto.com/u_14033984/8668911