erlang mysql:start_link_Erlang进程的Link机制

本文介绍了Erlang中link机制的基本概念、创建与解除,以及在进程异常退出时如何发送Exit Signal。讨论了trap_exit标志如何改变进程对exit信号的处理,并通过gen_server示例解释了link在实际业务建模中的应用和可能的特殊情况。
摘要由CSDN通过智能技术生成

这篇文章还不是最终版,有时间时,我会再来补充完善。

什么是link

Erlang程序基于进程建模,进程之间的交互机制有收发消息,link和monitor。其中,收发消息通常用于正常的进程间通讯,而link和monitor多用于异常情况处理,本文从应用的角度介绍和分析link机制。link是双向全联通的,用来将两个或多个进程绑定在一起,绑定在一起之后,VM会保证在有进程退出时,对与其绑定在一起的进程执行特定的操作。

创建link和取消link

Two processes can be linked to each other. A link between two

processes Pid1 and Pid2 is created by Pid1 calling the BIF

link(Pid2)(or vice versa). There also exists a number a spawn_link

BIFs, which spawns and links to a process in one operation.

Links are bidirectional and there can only be one link between two

processes.Repeated calls to link(Pid) have no effect.

A link can be removed bycalling the BIF unlink(Pid).

当有进程退出时

发送Exit Signal

When a process terminates, it will terminate with an exit reason as

explained in Process Termin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值