Slide 24
Slide 24 text
-‐module(pingpong).
-‐export([start/0,
init/2]).
start()
-‐>
ok
=
proc_lib:start_link(?MODULE,
init,
[ping,
pong]),
ok
=
proc_lib:start_link(?MODULE,
init,
[pong,
ping]),
ping
!
1.
init(MyName,
OtherName)
-‐>
true
=
erlang:register(MyName,
self()),
proc_lib:init_ack(ok),
loop(MyName,
OtherName).
loop(MyName,
OtherName)
-‐>
receive
Count
-‐>
OtherName
!
(Count
+
1),
case
Count
>
1000
of
true
-‐>
io:fwrite("~p
~p~n",
[MyName,
Count]);
false
-‐>
loop(MyName,
OtherName)
end
end.