fork(1) download
  1. -module(prog).
  2. -export([main/0]).
  3.  
  4. main() ->
  5. Pid = spawn(fun() -> loop(0) end),
  6. R1 = procidurka(Pid, get_n),
  7. io:format("procidurka returned :~p~n",[R1]),
  8. R2 = procidurka(Pid, get_n),
  9. io:format("procidurka returned :~p~n",[R2]),
  10. R3 = procidurka(Pid, get_n),
  11. io:format("procidurka returned :~p~n",[R3]).
  12.  
  13. procidurka(Pid, Request) ->
  14. Pid ! {self(), Request},
  15. receive
  16. Response
  17. ->
  18. Response
  19. end.
  20.  
  21. loop(N) ->
  22. receive
  23. {From, get_n} ->
  24. From ! N,
  25. loop(N+1);
  26. {From, Other} ->
  27. From ! {error,Other},
  28. loop(N)
  29. end.
Success #stdin #stdout 0.06s 1749504KB
stdin
Standard input is empty
stdout
procidurka returned :0
procidurka returned :1
procidurka returned :2