`
derlang
  • 浏览: 35047 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

Erlang中的进程表示

阅读更多
test1() ->
    Pid = spawn(fun() -> receive stop -> void end end),
    Pid ! stop.

test2() ->
    register(tut, spawn(fun() -> receive stop -> void end end),
    tut ! stop.


- Pid 的生成
- Pid表示为<X.Y.Z>, 可以通过list_to_pid("<X,Y.Z>")的方式构造,其中X表示Erlang集群中节点的索引号,X为0表示是本地进程,否则表示进程运行在另外的节点上。
- 发送消息的目的地可以是一个local或global Pid, local_registered_name, or {atom(), node()}. 通过本地注册名字来发送消息时,需要一个name->Pid的映射关系。
- 通过global:register_name可以注册全局的名字,同理,也需要一个name->Pid的映射关系。
引用
whereis/1

引用
global:whereis_name

- 特别需要理解Erlang中local and global的同和异,涉及到它是如何跨越节点边界的机制,即分布式Erlang的一些实现问题,相关模块有global, rpc, pg2, inet等。



分享到:
评论

相关推荐

    Erlang中文手册.pdf

    - **1.3.1 进程**:Erlang的进程与其他语言中的线程类似,但它们是轻量级的,并且通过消息传递进行通信。 - **1.3.2 信息传递**:进程间通信是通过消息传递完成的,Erlang提供了简单的机制来实现这一点。 - **1.3.3 ...

    erlang 连接学习例子

    在这个“erlang 连接学习例子”中,我们有两个核心文件:`server.erl` 和 `client.erl`,它们分别代表了一个服务器进程和客户端进程,展示了Erlang中进程间的通信机制。 `server.erl` 文件通常包含一个持续运行的...

    Erlang_CNode用户指

    4. **进程通信**:阐述如何在CNode中创建Erlang进程,以及如何使用send和receive原语进行消息传递。这通常涉及理解Erlang的消息队列模型和同步原语。 5. **错误处理和调试**:讨论在CNode中处理Erlang错误和异常的...

    Erlang中文基礎教程

    Erlang的并发模型基于轻量级进程(Lightweight Process, LWP),也称为Erlang进程。这些进程具有极低的创建和通信开销,使得在Erlang中实现并发变得非常容易。进程间通信主要通过消息传递,使用`send`和`receive`...

    Concurrent Programming in ERLANG (P1-90)

    在Erlang中,可以通过调用`spawn`函数来创建一个新的轻量级进程。这些进程可以在独立的上下文中运行,并且可以通过消息传递与其他进程进行通信。 **5.2 进程间通信** 进程间通信是Erlang并发模型的核心部分。进程...

    erlang程序设计相关例子程序

    Erlang进程是轻量级的,可以高效地进行并发执行。 4. **try_test.beam** - 这可能是用于测试异常处理的代码,Erlang使用`try...catch...finally`结构来捕获和处理异常,这在编写健壮的系统时非常关键。 5. **area_...

    erlang 程序设计 源码

    1. **并发性**:Erlang的并发模型基于轻量级进程(Lightweight Processes,LWP),它们类似于操作系统中的线程,但资源消耗小得多。进程间通信通过消息传递实现,这是Erlang并发模型的核心。 2. **故障恢复与容错**...

    erlang nif test

    这个函数会查找与Erlang模块同名的动态链接库(如`.so`或`.dll`文件),并将其加载到Erlang进程中。 4. **错误处理**:NIF必须处理可能的错误情况,例如C函数的异常、资源不足等。如果C函数返回错误,Erlang VM应该...

    erlang四大behaviour之四-supervisor

    Erlang Supervisor是Erlang四大Behaviour之一,主要负责管理监控树(supervision tree)中的子进程,确保系统的稳定运行。在Erlang并发模型中,通过Supervisor可以实现进程间的容错机制,即当某个进程出现故障时,...

    erlang程序设计

    它以其强大的错误恢复能力、轻量级进程(称为Erlang进程)以及简单而强大的并发模型而闻名。在深入探讨Erlang程序设计之前,我们先来了解一下Erlang的基础概念。 1. 函数式编程:Erlang是一种纯函数式编程语言,这...

    erlang 23.1 - windows

    在压缩包文件名称列表中,只有"erlang 23.1",这可能是Erlang 23.1安装程序的简化表示。完整的安装包通常包括多个文件和目录,例如:setup.exe(安装程序)、erts-10.7(Erlang运行时系统)、lib目录(包含各种...

    Erlang公式的理解.docx

    Erlang是一个在电信领域广泛使用的单位,用来衡量话务量,即通信系统中处理的呼叫流量。Erlang的名字来源于丹麦数学家Agner Krarup Erlang,他在20世纪初研究了电话交换系统的理论。在Erlang公式中,话务量是由平均...

    Erlang入门:构建application练习5(监督树)

    `one_for_one`策略表示如果一个子进程失败,只重启该子进程,而不影响其他子进程。 接下来,我们需要编写`bank_account`模块,实现业务逻辑,并确保它遵循Erlang的进程通信模式。这通常涉及接收消息,执行操作,...

    Erlang保留字

    本文通过提供的Erlang代码片段,详细介绍了Erlang中模块声明、函数导出、文件包含、记录定义与操作、异常处理以及数值表示等核心概念。理解这些基础对于学习和使用Erlang非常重要。通过掌握这些基本知识,开发者可以...

    erlang 入门练习

    在Erlang中,程序是由一系列的进程构成的,这些进程独立运行且相互通信,这使得Erlang非常适合处理并发任务。"ben.erl"文件很可能是一个简单的Erlang源代码文件,我们可以通过编辑器或Erlang的REPL(Read-Eval-Print...

    Erlang编程中文学习手册.pdf

    Erlang的并发模型是基于轻量级进程的概念,与操作系统级别的进程不同,Erlang进程之间的通信是通过消息传递来实现的,这增加了程序的鲁棒性。 这份手册还涵盖了Erlang的其他基础概念,如函数语法、模式匹配、控制...

    erlang-rpm-21.3.4.zip

    1. **轻量级进程**:Erlang中的进程非常轻便,消耗资源少,可以实现大量并发处理,适合构建高并发、高可用性的系统。 2. **分布式计算**:Erlang节点间可以通过网络进行通信,允许在多台机器上分布运行程序,提高了...

    基于Erlang VM的语言

    Core Erlang是Erlang编译器内部使用的中间表示(Intermediate Representation, IR)。它是Erlang源代码经过初步编译后的形式,用于进一步优化和转换成机器可执行的BEAM代码。尽管Core Erlang对普通开发者来说较为...

Global site tag (gtag.js) - Google Analytics