![]() |
1
10
如果进程A向进程B发送两条消息,则保证这两条消息按发送顺序到达。 如果进程A向进程B发送一条消息,然后向进程C发送一条消息,则无法保证它们的接收顺序。 同样,如果进程A&B向C发送消息,则无法保证消息的接收顺序。 这是消息传递模型的一个基本属性不同进程中的计算顺序是未定义的,您只能有意义地谈论涉及消息发送的排序。上述规则的一个结果是,如果a向c发送一条消息,那么a向b发送一条消息,并且在接收到b向c发送的消息时,c可以以任何顺序接收这两条消息。(实际上,我怀疑这不会在单个节点上逆转,但如果这三个进程位于不同的节点上,则很容易发生。) |
![]() |
2
2
消息不是并行处理的;毕竟这只是一个过程。 至于消息排序:按“时间顺序”(从最早到最新)扫描消息队列。我 认为 我记得很久以前的一次邮件列表讨论,有人澄清,时间戳是邮件的原始时间(即发送时间),但我记不太清楚,也找不到任何关于该邮件的在线引用。
注意你的
|
![]() |
3
1
每个进程对消息进行串行处理。 |
![]() |
mritalian · Erlang ETS内存碎片 6 年前 |
![]() |
david · Erlang:从主机名获取ip地址 7 年前 |
![]() |
Matt · 有没有办法访问GenServer的状态? 7 年前 |
![]() |
Chris W · 具有并行HTTP请求的Erlang网络问题 7 年前 |