2016-04-29 30 views
1

我无法理解如何使用Erlang进程接收多条消息。下面是我在shell尝试:在Erlang进程中接收多条消息

1> GetMessage = spawn(fun() -> getMessage() end). 
<0.252.0> 
2> GetMessage ! msg. 
Got a message 
msg 
3> GetMessage ! msg 
msg 

代码getMessage/0

getMessage() -> 
    receive 
    _ -> 
     io:format("Got a message~n", []) 
end. 

我怎样才能保持接收消息?

回答

2

啊,我明白了:

getMessage() -> 
    receive 
    _ -> 
     io:format("Got a message~n", []) 
     getMessage() % Add this line! 
end. 

您需要收到消息后再次调用该函数。