erlang的消息发送和接收
来源:互联网 发布:python 元胞自动机 编辑:程序博客网 时间:2024/05/16 06:14
Pid ! Msg
用于消息发送,它的意思是,向进程id为Pid的进程发送消息,该消息为Msg。例如
Pid ! {inch,3}
表示向进程id为Pid的进程发送消息{inch,3}
在消息发送之前,消息中的所有参数都会被求值。
因此:
Pid !{2,5*6}
发送的消息是:Pid !{2,30}
receive原语用于接收消息。receive语法如下:
receive Message1 > ... ; Message2 > ... ; ...end这里要注意,end前面的语句没有;
这表示尝试接收一个由Message1、Message2等模式之一描述的消息。对该原语进行求值的进程将被挂起,直至接收到一个与Message1、Message2等模式匹配的消息。一旦找到一个匹配,即对“->”右侧的代码求值。
接收到消息后,消息接收模式中的所有未绑定变量都被绑定。
receive的返回值是被匹配上的接收选项所对应的语句序列的求值结果。我们可以简单认为send发生一条消息而receive接收一条消息,然而更准确的描述则是send将一条消息发送至一个进程的邮箱,而receive尝试从当前进程的邮箱中取出一条消息。
receive是有选择性的,也就是说,它从等候接收进程关注的消息队列中取走第一条与消息模式相匹配的消息。如果找不到与接收模式相匹配的消息,则进程继续挂起直至下一条消息到来——未匹配的消息被保存用于后续处理。
阅读全文
0 0
- erlang的消息发送和接收
- 消息的创建发送和接收
- ActiveMQ 消息的发送和接收
- ActiveMQ消息发送和接收
- ActiveMQ消息发送和接收
- ActiveMQ消息发送和接收
- C#发送和接收消息
- java DategramSocker发送消息和接收消息
- ActiveMQ 发送消息和接收消息 Demo
- 自定义消息的发送和接收的方法
- C#简单实现自定义消息的发送和接收
- 关于Windows消息的发送和接收入门
- VC 自定义消息的发送和接收方法
- 关于Windows消息的发送和接收入门
- OpenJMS程序实现消息的发送和接收
- JMS_使用ActiveMQ实现消息的发送和接收
- 本地和远程trap消息的接收与发送
- 一段同步接收和发送MQ消息的代码
- python笔记-001-基础(字符串和数值)
- Linux 抽象网络设备简介
- mybatis不用spring下的操作
- oracle/plsql中创建数据库链路和视图的过程
- 大饼玩Kettle之安装Kettle7.1
- erlang的消息发送和接收
- 欢迎使用CSDN-markdown编辑器
- rxjava系列(一)-- 初识Rxjava
- Jenkins实现内网部署及外网远程部署到Tomcat
- Python获取国内股票数据
- Mybatis的Xml映射文件和Mybatis内部数据结构之间的映射关系
- Python机器学习应用 | 聚类——DBSCAN方法及应用
- 12种应该避免使用的Javascript语法
- vue项目如何使用nginx配置跨域