首页 > Erlang并发教程 > 9.4 Erlang并发编程-保持进程存活
2013
11-18

9.4 Erlang并发编程-保持进程存活

BACK TOP文章索引

  1. 保持进程存活
  2. 共2条评论

保持进程存活

一些进程可能对系统来说是非常重要的。例如,在一个常规的分时系统里,常常每一个终端连接都由一个负责输入输出的进程来服务。如果这个进程终止了,终端也就不可用了。程序8.2通过重启终止的进程来保持进程存活。

这个注册为keep_alive的服务程序保有一个由{Id, Mod, Func, Args}模式元组构成的列表,这个列表包含了所有正在运行的进程的标识符、模块、函数和参数。 它使用BIF spawn_link/3启动这些进程,因此它也和每一个进程建立连接。然后这个服务程序就开始捕获EXIT信号,当一个进程终止了,它就会收到一个EXIT信号。在搜索了那个由元组构成的列表之后,它就能重启这个进程。

不过程序8.2当然也需要改进。如果从进程列表里移除一个进程是不可能的话,那么当我们试图用一个并不存在的module:function/arity来创建进程,程序就会进入死循环。建立一个没有这些缺陷的程序,就作为练习留给读者来完成。


9.4 Erlang并发编程-保持进程存活》有 2 条评论

  1. 最近北朝因为反绿绿的帖子太多了,党公当时就怒了,说要散伙。你们想人民的力量是巨大的,竟然把自称姓赵的党公***到这种地步

  2. 最近北朝因为反绿绿的帖子太多了,党公当时就怒了,说要散伙。你们想人民的力量是巨大的,竟然把自称姓赵的党公***到这种地步

留下一个回复

你的email不会被公开。