【问题标题】:Erlang pid comparison guaranteesErlang pid 比较保证
【发布时间】:2012-09-30 00:59:06
【问题描述】:

对于一些 erlang 资深人士来说,这可能是一个微不足道的问题,但很高兴知道,因为文档中并不清楚。许多分布式系统算法利用唯一 pid 的可比性来做出决策。 Erlang 很友好地提供了 pid 的内置比较,但是,我在徘徊在引用本地和外部 pid 的多台机器之间的比较是否保持一致。我的猜测是没有比较保证,但我可能是错的,是吗?

【问题讨论】:

    标签: erlang


    【解决方案1】:

    Erlang 在其 PID 结构中存储的不仅仅是一个简单的进程 ID;数据包括远程节点的唯一标识符(无论是另一个本地还是远程 VM)。

    详情请见Can someone explain the structure of a Pid in Erlang?

    因此,您可以保证不会在错误的 VM 上向错误的 PID 发送消息(或误解接收消息的来源),至少不会在代码中的某处出错。

    更新:我突然想到我可能一直在回答错误的问题。如果您询问比较将如何进行(例如,如果 Pid1 http://learnyousomeerlang.com/starting-out-for-real#bool-and-compare,排序将是恒定的。

    【讨论】:

    • self() 似乎总是以 0 () 开头,因此它总是在来自另一个节点的任何其他 pid 之前。
    猜你喜欢
    • 1970-01-01
    • 2012-02-25
    • 2013-05-25
    • 2015-10-27
    • 2012-11-25
    • 1970-01-01
    • 2011-03-10
    • 2015-06-05
    • 2011-12-16
    相关资源
    最近更新 更多