查看源代码 Erlang 中的通信
Erlang 中的通信在概念上是使用异步信号执行的。所有不同的执行实体,例如进程和端口,都通过异步信号进行通信。最常用的信号是消息。其他常见的信号有 exit、link、unlink、monitor 和 demonitor 信号。
信号的传递
此信息已移动到 Erlang 参考手册 中 进程 章节的 信号 部分。
同步通信
此信息已移动到 Erlang 参考手册 中 进程 章节的 信号 部分。
实现
虚拟机中不同异步信号的实现可能会随着时间而变化,但其行为始终遵循上述实体之间传递异步信号的概念。
通过检查实现,您可能会注意到某些特定信号给出的保证比上述描述的更严格。至关重要的是,Erlang 代码不要使用这种关于实现的知识,因为实现可以随时更改,恕不另行通知。
主要实现更改的示例
- 从 ERTS 5.5.2 开始,发送给进程的 exit 信号是真正异步传递的。
- 从 ERTS 5.10 开始,从进程到端口的所有信号都是真正异步传递的。