Skip to content

Instantly share code, notes, and snippets.

@alexandreservian
Created March 24, 2020 15:23
Show Gist options
  • Save alexandreservian/6745d4af9883da08d6f266f5921b704a to your computer and use it in GitHub Desktop.
Save alexandreservian/6745d4af9883da08d6f266f5921b704a to your computer and use it in GitHub Desktop.
Exemplo de comunicação entre processos
iex> pid = self() # pega o pid atual do processo
#PID<0.105.0>
iex> send pid,{:ok, "mensagem com padrão 1"}
iex> send pid,{:ok, "mensagem com padrão 2"}
iex> Process.info pid, :messages # mostra as mensagens salvas na mailbox
{:messages, [ok: "mensagem com padrão 1", ok: "mensagem com padrão 2"]}
iex> receive do {:ok, msg} -> IO.puts msg end # macro que lida com as mensagens
mensagem com padrão 1
:ok
iex> Process.info pid, :messages
{:messages, [ok: "mensagem com padrão 2"]}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment