首页 > 其他 > 详细

Erlang进程执行周期

时间:2014-08-24 18:09:53      阅读:241      评论:0      收藏:0      [点我收藏+]

比方说下面一段代码
make_process(List) when is_list(List)->

Pid1=spawn(fun()->do_action(List) end),
register(pid1,Pid1),
Pid2=spawn(fun()->do_action() end),
register(pid2,Pid2).

do_action(List)->

receive
    {ok,Data}->
        io:format("hello world!~n")
end,        
do_action(List).

do_action()->

io:format("xxxxxxxx~n").

执行完毕后,通过is_process_alive(where(pid1))查看到pid1进程还在执行,pid2进程已经执行完毕后就不存在咯。
所以Erlang里面要生成一直运作的进程,就需要不断的循环执行,receive接受消息,接受消息后从消息信箱中删除,然后又
继续循环等待接受消息。这就是Erlang进程的生命周期。

Erlang进程执行周期

原文:http://my.oschina.net/u/932809/blog/306052

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!