Erlang消息传递-tut15.erl
作 w3cschool erlang 的练习
---------
1 -module(tut15). 2 3 -export([start/0, ping/2, pong/0]). 4 5 %% Erlang 消息传递 6 %% Erlang 进程之间的消息可以是任何简单的 Erlang 项. 比如说, 可以是列表、元组、整数、原子、进程标识等等 7 %% recevie 关键字的语法: 请注意, 在 end 前的最后一个 actions 并没有 ";" 8 %% receive 9 %% pattern1 -> 10 %% actions1; 11 %% pattern2 -> 12 %% actions2; 13 %% ... 14 %% patternN -> 15 %% actionsN 16 %% end. 17 18 ping(0, Pong_PID) -> 19 Pong_PID ! finished, 20 io:format("ping finished~n", []); 21 ping(N, Pong_PID) -> 22 Pong_PID ! {ping, self()}, 23 receive 24 pong -> 25 io:format("Ping received pong~n", []) 26 end, 27 ping(N - 1, Pong_PID). 28 29 30 pong() -> 31 receive 32 finished -> 33 io:format("Pong finished~n", []); 34 {ping, Ping_PID} -> 35 io:format("Pong received ping~n", []), 36 Ping_PID ! pong, 37 pong() 38 end. 39 40 41 start() -> 42 Pong_PID = spawn(tut15, pong, []), 43 spawn(tut15, ping, [3, Pong_PID]).
--------- THE END ---------
转载于:https://www.cnblogs.com/shadow-abyss/p/11171182.html
Erlang消息传递-tut15.erl相关推荐
- Golang和Erlang消息传递机制对比
上一篇文章介绍了 Go 和 Erlang 在调度器的实现,本文将简要介绍这两种并发语言的消息传递机制 简要对比 Erlang和Go虽然在实现及功能上差异较大,但是都支持高并发的轻量级用户任务(Erla ...
- 30 分钟学 Erlang
30 分钟学 Erlang (一) Shawn_xiaoyu https://www.jianshu.com/p/b45eb9314d1e 本文写给谁看的? 那些已经有过至少一门编程语言基础,并且需要 ...
- erlang mnesia数据库简单应用
mnesia是erlang自带的分布式数据库,基于ets和dets实现的.mnesia兼顾了dets的持久性和ets的高性能,可以自动在多个erlang节点间同步数据库.最关键的是,mnesia实现了 ...
- java erlang_Java开发人员的Erlang
java erlang 您可能没有注意到,但是距离我上次发布博客已经过去了几个星期. 这是由于我的Soleus骨折了,而且我的腿是石膏模型. 不能动弹,我认为调查完全不同的东西是个好主意–要么看那一天 ...
- Java开发人员的Erlang
您可能没有注意到,但是距离我上次发布博客已经过去了几个星期. 原因是我的Soleus骨折了,而我的腿也石膏了. 不能动弹,我认为调查完全不同的东西是个好主意–要么看那天的电视,要么,尽管Kojak和M ...
- Erlang库 -- 有意思的库汇总
抄自这里 首先,库存在的目的大致可分为: 1.提供便利 2.尽可能解决一些痛点 首先,我们先明确一下Erlang编程语言的一些痛点(伪痛点): 1,单进程问题 Erlang虚拟机属于抢占式调度,抢占式 ...
- erlang的epmd指定端口范围验证及端口权限配置
2019独角兽企业重金招聘Python工程师标准>>> erlang的epmd指定端口范围验证及端口权限配置 1,简介 erlang的原理与linux系统非常像,有进程的概念,有进程 ...
- Linux安装Erlang
第一步准备安装包 http://erlang.org/download/ 第二步下载完成后使用xftp上传到mnt目录下 第三步 安装相关依赖 yum install make gcc gcc-c++ ...
- CentOS 7.7安装Erlang和Elixir
安装之前,先看一下它们的简要说明 Erlang Erlang是一种开源编程语言,用于构建对高可用性有要求的大规模可扩展的软实时系统.它通常用于电信,银行,电子商务,计算机电话和即时消息中.Erlang ...
最新文章
- launchctl mysql_Mac Yosemite 10.10 下利用 Launchctl 自启动 mysql
- HDLBits 系列(5)让三元条件运算符(?:)在你的设计中发挥作用
- matlab 摄像头操作
- [云炬创业基础笔记]创业计划书常见问题
- html 定义函数调用函数,请问HTML function函数怎么定义和调用?
- Warning: mysqli_connect()_php链接MySQL8.0_异常
- maven 主pom 配置不同环境指定不同配置文件以及打包参数
- python2协程_python中的协程(二)
- android有关医疗实现功能,基于Android的智能医疗监测系统的设计与实现_问答库
- mysql建立聚族索引语句,MySQL学习教程之聚簇索引
- 对linux信号量的理解以及实现
- MATLAB中Yalmip工具,yalmip工具箱使用问题
- 全面讲解 Handler机制原理解析 (小白必看)
- Java 方法重载和覆盖重写的区别及注意事项
- dockerfile
- 南京师范计算机科学研究生分数线,2020南京师范大学考研复试分数线已公布
- 表格中使用blockquote出现外边框的解决办法
- CMake入门教程【手册篇】CMake生成与编译项目
- JAVA美食小屋系统(JAVA毕业设计)
- Java数据结构(1.1):数据结构入门+线性表、算法时间复杂度与空间复杂度、线性表、顺序表、单双链表实现、Java线性表、栈、队列、Java栈与队列。
热门文章
- Qt如何将数据保存成CSV文件
- axios (get post请求、头部参数添加)傻瓜式入门axios
- 剑指offer--打印1到最大的n位数
- eclipse debug怎么用_利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)
- python sftp_python中实现sftp
- typescript在ES3(IE7)环境下使用async、await
- Confluence 6 在 Apache 或者系统级别阻止垃圾
- 算法前戏 递归 二分查找 列表查找
- json字符串生成C#实体类的工具
- a标签的href与onclick中使用js的区别