Erlang进程执行周期

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