【发布时间】:2012-10-12 20:41:52
【问题描述】:
Erlang User's Guide 将 send operator 描述为
8.9 发送
Expr1 ! Expr2将
Expr2的值作为消息发送到指定的进程Expr1。Expr2的值也是 表达。
Expr1必须评估为 pid、注册名称(原子)或 元组{Name,Node}。Name是一个原子,Node是一个节点名称,也是一个 原子。
- 如果
Expr1计算结果为一个名称,但该名称未注册,则会出现badarg运行时错误。- 向 pid 发送消息永远不会失败,即使 pid 标识了一个不存在的进程。
- 分布式消息发送,也就是说,如果
Expr1评估为元组{Name,Node}(或位于另一个节点的pid),也永远不会 失败。
在分布式消息发送的情况下,从远程节点或进程的代码中,我不清楚{Name,Node} 中的第一个原子代表什么。
感谢您的帮助。
【问题讨论】:
标签: erlang