我想知道我所有生成的进程是否都处于空闲状态或不做任何事情。所以我有这个特殊的例子,它产生了 1000 个 erlang 进程proc/3
proc(A,B,C) ->
receive
{do} ->
NewA = % doing something
NewB = % doing something
NewC = % doing something
% doing something
% ...
io:format("Process: ~w is done doing something.", [self()]),
proc(NewA,NewB,NewC)
end
[<0.33.0>,<0.34.0>,<0.35.0>,<0.36.0>...<0.1032.0>]
现在这些进程中的每一个都会收到一条消息{do}
,告诉它们与其他进程同时执行其下的语句。我如何知道所有进程是否已完成执行,或者只是它们现在处于空闲状态?