我在學習Erlang的貨幣編程。在Erlang貨幣編程中運行的多進程程序
這是一個來自Erlang.org的示例程序,但沒有關於如何運行它的說明。
我以這種方式運行,
1> counter:start()
<0.33.0>
但是,我不知道該怎麼辦好其他功能,使過程(計數器:啓動())可根據接收到的信息做的工作。
如何確認兩個或多個進程是否已經真正生成?
另一個問題,如何在功能打印收到的消息?
-module(counter).
-export([start/0,loop/1,increment/1,value/1,stop/1]).
%% First the interface functions.
start() ->
spawn(counter, loop, [0]).
increment(Counter) ->
Counter ! increment.
value(Counter) ->
Counter ! {self(),value},
receive
{Counter,Value} ->
Value
end.
stop(Counter) ->
Counter ! stop.
%% The counter loop.
loop(Val) ->
receive
increment ->
loop(Val + 1);
{From,value} ->
From ! {self(),Val},
loop(Val);
stop -> % No recursive call here
true;
Other -> % All other messages
loop(Val)
end.
任何幫助將不勝感激。
感謝