1
這是一個全功能的新手問題。如何用SSA在Erlang中累積結果?
我想學習一些Erlang,並且已經創建了一個(希望併發的)蒙特卡洛仿真,其中生成了多個進程,它們通過消息傳遞將其本地結果報告給父進程。
所以在父進程我有一些像
parent(NumIterations, NumProcs) ->
random:seed(),
% spawn NumProcs processes
lists:foreach(
spawn(moduleName, workerFunction, [self(), NumIterations/NumProcs, 0, 0]),
lists:seq(0, NumProcs - 1)),
% accumulate results
receive
{N, M} -> ???; % how to accumulate this into global results?
_ -> io:format("error")
end.
比方說,我想總結一下所有Ns和從產生的進程收到的女士。
我知道積累值通常是通過函數式編程中的遞歸完成的,但是如何在接收語句中做到這一點..?