码迷,mamicode.com
首页 > 其他好文 > 详细

Erlang进程执行周期

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

标签:java   io   for   cti   代码   sp   on   c   as   

比方说下面一段代码
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进程执行周期

标签:java   io   for   cti   代码   sp   on   c   as   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!