首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

erlang过程监控:link和monitor

2013-10-28 
erlang进程监控:link和monitorErlang最开始是为了电信产品而发展起来的语言,因为这样的目的,决定了她对错

erlang进程监控:link和monitor

Erlang最开始是为了电信产品而发展起来的语言,因为这样的目的,决定了她对错误处理的严格要求。Erlang除了提供exception,try catch等语法,还支持Link和Monitor两种监控进程的机制,使得所有进程可以连接起来,组成一个整体。当某个进程出错退出时,其他进程都会收到该进程退出的消息通知。有了这些特点,使用erlang建立一个简单,并且健壮的系统就不是什么难事。

进程双向监控-Link

link方式可以建立进程之间的双向链接关系,当其中一个进程退出时,另一个进程会收到该进程退出的消息。

例子1:

1> test:start().Pid <0.39.0>Pid3 <0.40.0>ok%% 杀掉Pid进程,进程Pid3收到通知2> exit(pid(0,39,0),kill).pid exit: {'DOWN',#Ref<0.0.0.80>,process,<0.39.0>,killed}true3> test:start().Pid <0.43.0>Pid3 <0.44.0>ok%% 杀掉Pid3进程,进程Pid没有收到通知4> exit(pid(0,44,0),kill).true

注:解除monitor监控用erlang:demonitor(MonitorRef)

热点排行