Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -module(producer).
- -export([start/1, stop/0, crash/0]).
- start(Delay) ->
- register(producer, spawn(fun() -> init(Delay) end)).
- stop() ->
- producer ! stop.
- crash() ->
- producer ! crash.
- init(Delay) ->
- receive
- {hello, Consumer} ->
- producer(Consumer, 0, Delay);
- stop ->
- ok
- end.
- producer(Consumer, N, Delay) ->
- receive
- stop ->
- Consumer ! bye;
- crash ->
- 42/0
- after Delay ->
- Consumer ! {ping, N},
- producer(Consumer, N+1, Delay)
- end.
Add Comment
Please, Sign In to add comment