Guest User

Untitled

a guest
May 23rd, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.68 KB | None | 0 0
  1. defmodule PingPong do
  2. def start do
  3. ping_process = spawn(Ping, :loop, [])
  4. pong_process = spawn(Pong, :loop, [])
  5. send(ping_process, {:pong, pong_process})
  6. end
  7.  
  8. def ping do
  9. Ping
  10. end
  11. end
  12.  
  13. defmodule Ping do
  14. def loop(n \\ []) do
  15. receive do
  16. {:pong, sender_pid} ->
  17. :timer.sleep(1_000)
  18. send(sender_pid, {:ping, self()})
  19. IO.puts("ping ----")
  20.  
  21. loop()
  22.  
  23. _ ->
  24. loop()
  25. end
  26. end
  27. end
  28.  
  29. defmodule Pong do
  30. def loop(n \\ []) do
  31. receive do
  32. {:ping, sender_pid} ->
  33. :timer.sleep(1_000)
  34. send(sender_pid, {:pong, self()})
  35. IO.puts("---- pong")
  36.  
  37. loop()
  38.  
  39. _ ->
  40. loop()
  41. end
  42. end
  43. end
Add Comment
Please, Sign In to add comment