2016-12-02 45 views
0

我在寻找关于Erlang如何处理接收电话的信息。Erlang如何接收电话

report(Count) -> 
    receive 
     X -> io:format("Received #~p: ~p~n", [Count, X]), 
    end. 

接收是否在相同的线程上执行比其他函数? 每个进程是否有责任调用他自己的接收? Erlang是否使用调用所有接收的“神”进程?

回答

4

收到语句后,进程首先检查邮箱中是否存在与其中一个接收子句相匹配的邮件。如果没有,它进入等待状态(与调度程序交互,但我没有详细信息)。然后,只有在邮件箱中放入新邮件或发生超时(后续子句)时,计划程序才会重新计划进程。