Browse Source

erl spawn 100_000 processes

221V 2 weeks ago
parent
commit
c9bde35d24
1 changed files with 19 additions and 0 deletions
  1. 19 0
      test1.erl

+ 19 - 0
test1.erl

@@ -0,0 +1,19 @@
+-module(test1).
+-export([ main/0, spawner/1, worker/1 ]).
+
+main() ->
+  spawn(test1, spawner, [100_000]), %% we spawn 100_000 processes
+  timer:sleep(10 * 1000), %% 10 sec
+  io:format("hello here!~n").
+
+spawner(0) -> ok;
+spawner([N]) -> spawner(N);
+spawner(N) when N > 0 ->
+  spawn(test1, worker, [N]),
+  spawner(N - 1).
+
+worker(X) ->
+  io:format("started worker = ~p~n", [X]),
+  timer:sleep(30 * 1000), %% 30 sec
+  io:format("stopped worker = ~p~n", [X]).
+