Erlang笔记(12) - 并发编程 - ToBeContinue
来源:互联网 发布:java byte 高位 低位 编辑:程序博客网 时间:2024/06/09 17:03
1. 进程创建,发送
- 创建
- Pid = spawn(Module, Function, Arguments).
- Module:模块名
- Function:对应的函数
- Arguments:函数的参数;Arguments 为一个列表,比如:spawn(m, f, [a])
- Pid:返回的 process identity
- Pid = spawn(Module, Function, Arguments).
- 发送消息
- Pid ! hello
- 向标识符为 Pid 的进程发送 hello 消息。Pid1!Pid2!Pid3...!Message,将消息发送到几个进程中
- pid(0,30,0) ! hello
- 消息会被发送到进程的消息队列
- Pid ! hello
- 接收消息
- 语法:
- receive
- Pattern1 when Guard1 -> exp11, .., exp1n;
- Pattern2 when Guard2 -> exp21, .., exp2n;
- ...
- Other -> expn1, .., expnn
- after
- Timeout -> exp1, .., expn % 设置没有匹配成功的等待时间戳;如果超过这个时间没有后续的消息,则执行 after 后面的
- end
- 当一个消息到达进程是,系统依次尝试与 Pattern1, Pattern2, ... 匹配。如果依次都没有匹配,那么消息就会留给后续过程来处理,然后进程等待下一条消息。
- 语法:
2. 并发相关的函数
- processes().:显示当前系统运行进程号
- i().:查看当前运行进程信息
- self().:查看当前进程号
- flush().:清空消息队列
- register(ProcessName, spawn(...)).:给进程一个别名
- unregister(Name):删除原子式Name与对应进程的关联。
- whereis(ProcessName).:查看对应进程名的进程号
- registered():返回一个包含所有当前已注册过的名字
- regs().:以注册和未注册的形式显示进程信息。
0 0
- Erlang笔记(12) - 并发编程 - ToBeContinue
- Erlang 程序设计 学习笔记(六) 并发编程
- Erlang—并发编程
- Erlang并发编程(一)
- erlang并发编程模板
- Erlang并发编程1
- Erlang并发编程2
- erlang 并发编程
- Erlang并发编程
- Erlang并发编程
- 《Erlang程序设计》学习笔记-第8章 并发编程
- Erlang并发编程-目录
- Erlang并发编程-第一章
- Erlang并发编程(三) --- 调试
- Erlang并发编程(四) --- mochiweb
- Erlang并发编程(五) --- bigwig
- Erlang/OTP并发编程实战
- erlang otp并发编程实战
- Java 之工厂方法和抽象工厂模式
- CXF+spring 部署及调用
- ExecuteReader的用法
- C/C++编译过程
- vs创建和调用dll和lib经验
- Erlang笔记(12) - 并发编程 - ToBeContinue
- Eclipse报错:java.lang.ClassNotFoundException: ContextLoaderListener
- c#判断是否微信浏览器
- 搭建Struts2框架
- C# windows Form 之 MessageBox
- vim中文乱码解决
- Oracle 11g 空表不导出的解决方法
- C++ 将整个文件一次读入string
- 自定义浏览器协议,实现web程序调用本地程序