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

发布于 2024-10-10 02:48:39 字数 118 浏览 1 评论 0原文

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

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

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

谢谢

That is the simple question, i can not find a clear answer to:

Can one assume that the order of trace messages belonging to a single process are sent in the order in which corresponding events occur ?

(The icing on the cake would of course be the source where is is specified :) )

thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

三寸金莲 2024-10-17 02:48:39

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

当许多进程向另一个进程发送消息时,这一保证不成立:如果 A 和 C 都在 C 之前触发消息 B 和 A,则不能保证 A 的消息会先到达。类似地,如果 A 向 B 和 C 发送消息,则不能保证 C 不会在 B 之前收到消息。

如果在跟踪时正在进行 IO,这可能会导致混乱 - IO 会经过特定进程(组领导)它充当服务器,因此输出跟踪与当前正在发生的事情可能会产生有趣的结果。

Messages from a process A to a process B are guaranteed to always be ordered. It would be right to assume the trace events will also be ordered.

This guarantee doesn't hold when many processes message another one: if A and C both message B and A fires before C, there is no guarantee that A's message will be there first. Similarly, if A messages both B and C, there is no guarantee that C won't have its messages before B.

This could cause confusion if there is IO being done while tracing -- IO goes through a specific process (the group leader) that acts as a server, so outputting trace vs. stuff that is happening right now might give funny results.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文