Current section
Files
Jump to
Current section
Files
benchmarks/multi_spawn.erl
-module(multi_spawn).
-export([
do_work/2
]).
do_work(Fun, Count) ->
process_flag(trap_exit, true),
spawn_childrens(Fun, Count),
wait_responses(Count).
spawn_childrens(_Fun, 0) ->
ok;
spawn_childrens(Fun, Count) ->
spawn_link(Fun),
spawn_childrens(Fun, Count -1).
wait_responses(0) ->
ok;
wait_responses(Count) ->
receive
{'EXIT',_FromPid, _Reason} ->
wait_responses(Count -1)
end.