首页 > 系统相关 >无涯教程-Erlang - 进程

无涯教程-Erlang - 进程

时间:2023-12-03 19:31:43浏览次数:42  
标签:教程 process pid Pid 无涯 call 进程 Erlang

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

相关文章

  • 无涯教程-Erlang - BIFS
    BIF是Erlang中内置的函数,他们通常执行无法在Erlang中编程的任务,如,不可能将列表变成元组,为了执行这样的操作,我们称为BIF。让我们举一个如何使用BIF的示例--module(helloLearnfk).-export([start/0]).start()->io:fwrite("~p~n",[tuple_to_list({1,2,3})]),io:......
  • 无涯教程-Erlang - 函数
    Fun用于在Erlang中定义匿名函数,匿名函数的一般语法如下:F=fun(Arg1,Arg2,...ArgN)->...EndF                  - 这是分配给匿名函数的变量名。Arg1,Arg2,...ArgN - 这些是传递给匿名函数的参数。以下示例展示了如何......
  • 无涯教程-Erlang - 预处理
    在编译Erlang模块之前,它会由Erlang预处理程序自动处理,预处理器会扩展源文件中可能存在的所有宏,并插入任何必要的包含文件。通常,您不需要查看预处理器的输出,但是在特殊情况下(如,调试错误的宏时),您可能希望保存预处理器的输出,要查看模块some_module.erl的预处理输出,请提供OSShe......
  • 无涯教程-Erlang - 异常处理
    任何编程语言都需要异常处理来处理运行时错误,以便可以维护应用程序的正常流程。通常,当Erlang中发生异常或错误时,将显示以下消息。{"initterminatingindo_boot",{undef,[{helloLearnfk,start,[],[]},{init,start_it,1,[]},{init,start_em,1,[]}]}}故障转储将被写入-erl_......
  • 初中生就能看懂的Python教程 - 1. hello world、print与对象类型
    上一篇教程我们讲了如何安装Python。可以开始编程了。这一篇文章讲解有关print与变量的内容。不过我没讲怎么使用IDLE。在这里补充一下。PythonIDLE的使用下载完Python之后我们应该可以在开始菜单找到一个程序叫做IDLE,这也是新手最常用的Python编辑器,Python自带的。打开IDLE......
  • 无涯教程-Erlang - Records(记录)
    Erlang具有创建records记录函数,这些records记录由字段组成,例如,您可以定义一个personal records,其中包含2个字段,一个是id,另一个是name字段。然后,您可以在Erlang中创建此records记录的各种实例,以定义具有不同名称和ID的多个personal。创建记录使用record标识符创建,在此record......
  • 无涯教程-Erlang - Maps(映射)
    Maps中的每个键-值(key-value)关联称为关联对,该对中的键和值部分称为元素,关联对的数量被称为Map的大小。我们定义了具有2个Maps的MapM1,map_size是用Erlang定义的内置函数,可用于查看Map的大小。-module(helloLearnfk).-export([start/0]).start()->M1=#{name=>john......
  • 无涯教程-Erlang - 文件I/O
    使用I/O时,Erlang提供了许多方法。它具有更简单的类,可为文件提供以下函数-读取文件写入文件查看文件是文件还是目录让我们探讨一下Erlang提供的一些文件操作,出于这些示例的目的,我们将假设有一个名为NewFile.txt的文件,其中包含以下文本行Example1Example2Example3在以下......
  • 无涯教程-Erlang - Strings(字符串)
    通过将字符串括在引号中,可以在Erlang中构造一个字符串文字,需要使用双引号(如"HelloLearnfk")构造Erlang中的字符串。-module(helloLearnfk).-export([start/0]).start()->Str1="Thisisastring",io:fwrite("~p~n",[Str1]).上面程序的输出将是-“Thisisa......
  • Windows 下安装和配置 Redis (图文教程)
    ......