Erlang / Erlang Basics Interview questions
What is message passing?
Message passing is how Erlang processes exchange information, since they share no memory. The
! operator sends a message asynchronously into the target process's mailbox, and
receive pulls a matching message out of the caller's own mailbox.
Pid ! {self(), {add, 2, 3}}, receive {ok, Result} -> Result after 5000 -> timeout end.
Sending never blocks the sender, even if the receiving process is busy — the message just waits in the
mailbox. receive scans the mailbox for the first message matching one of its patterns, skipping
over (but not discarding) messages that don't match, and can specify an after clause to avoid
waiting forever.
More Related questions...