erlang:源自单个进程的跟踪消息的排序

时间:2011-01-03 12:00:07

标签: erlang trace

这是一个简单的问题,我无法找到一个明确的答案:

可以假设属于单个进程的跟踪消息的顺序是按相应事件发生的顺序发送的吗?

(锦上添花当然是指定的来源:))

谢谢

1 个答案:

答案 0 :(得分:2)

保证始终订购从进程A到进程B的消息。假设跟踪事件也将被订购是正确的。

当许多进程发出另一个进程消息时,此保证不成立:如果A和C消息B和A都在C之前触发,则无法保证A的消息将首先出现。同样,如果A消息B和C,则无法保证C在B之前不会有消息。​​

如果在跟踪时完成IO,这可能会造成混淆 - IO通过充当服务器的特定进程(组长),因此输出跟踪与现在正在发生的事情可能会产生有趣的结果。