erlang知识库 |
||
|
最近更新文章
OTP Design Principles: Gen_Fsm Behaviour
1,有限状态机 FSM,有限状态机,可以用以下形式来描述做一个关系集: State(S) x Event(E) -> Actions(A), State(S') 意思是,如果我们位于状态S,然后事件E发送了,则我们应该执行动作A,并且将状态改为S' 2,例子 有一个代码锁的门,如果输入的代码顺序是对的,那么将门打开30秒 如果输入代码不完全,则等待下次按钮按下,如果输入代码顺序是错的,则 ...
OTP Design Principles: Gen_Event Behaviour
1,事件处理原则 在OTP里,event manager是一个命名对象,它可以接收event 一个event可以是一个error、alarm或者一些应该被log的信息 在event manager里会安装一些event handler 当event manager被通知一个event时,event会被所有安装的event handler来处理 event manager实现为一个进程,而每个even ...
OTP Design Principles: Supervisor Behaviour
Supervisor Behaviour是一个用来实现一个supervisor进程来监控其他子进程的模块 子进程可以是另一个supervisor,也可以是一个worker进程 worker进程一般使用gen_event,gen_fsm或gen_server behaviour来实现 一个使用该模块来实现的supervisor有一个接口方法的标准集,包括跟踪和错误报告的功能 supervisor用来构 ...
Erlang里的make
Erlang自带一个make工具 我们看一个例子 目录结构: --Emakefile -include --test.hrl -src --test.erl -ebin Emakefile: {'src/*', [{i, "include"}, {outdir, "ebin"}]}. test.hrl: -record(server_opts, ...
Erlang:一个通用的网络服务器
原文: Erlang: A Generalized TCP Server 前面几篇文章里谈到了Erlang的gen_tcp网络编程和Erlang/OPT的gen_server模块,现在让我们将它们两者绑定在一起 大多数人认为“服务器”意味着网络服务器,但Erlang使用这个术语时表达的是更抽象的意义 gen_serer在Erlang里是基于它的消息传递协议来操作的服务器,我们可以在此基础上嫁接一 ...
使用EUnit进行单元测试
为了写一个好的产品,必定离不开完善的测试。 最近开始筹划项目,因此单元测试必不可少,一定要在开始的时候把测试做好,从下到上才能让产品更加坚固。 我们选择使用EUnit进行单元测试。使用Eunit的好处:减少代码的修改;提高开发速度;有利于接口与实现分离;有利于系统集成;还有测试本身可以作为一种文档。 1,首次从http://support.process-one.net/doc/display ...
local pid and remote pid
pid 既可以代表本地的process,也可以代表其他节点即远程 process,因此pid ! Msg,既可以向本地节点又可以向其他节点发送消息。 如何来区分local pid和remote pid呢,让我们先看看pid具体包含哪些信息。 打印pid变量的时候,其为X.Y.Z格式的数据,其中X代表的便是本地节点或者其他node(其可以为一个索引,指向某个已知节点),Y为4字节 unsigned ...
Application and Includeed Application
今天MailList中一个问题,在Application和Includeed Application中调用application:get_application/0,返回都是Primary Applicaion Name,为什么是这样呢? 在Erlang OTP中Application可以包其他Application,也就是Included Application。我前阵子在项目中也尝试使用Inc ...
Nitrogen web framework 入门
Nitrogen web framework 入门 Author: litaocheng@gmail.com Data: 2009-1-23 Version: 0.1 目录 1 概述 2 特性 3 期待 4 术语(Glossary of Terms) 5 应用的结构 6 一个简单的例子 7 更多阅读 1 概述 Nitrogen是一个使用Erl ...
群组知识库热门文章
- 44245 进入Erlang的世界
- 11494 gen_server入门
- 11491 如何写超强伸缩性的多游戏玩家服务器
- 8557 Erlang类型及函数声明规格
- 6336 使用etop查看系统中进程信息
最新评论
我是erlang 菜鸟,弱弱的问一下,erlang帮助文档,那有怎么用,连 Mod名、Func名,是什 ...
wrj913 评论了 Programming Erlang读书笔记8: Concurrency ...
wrj913 评论了 Programming Erlang读书笔记8: Concurrency ...
不明白为什么第一个例子handler(Socket)中close(Socket)后还调用了handle ...
erlangguy 评论了 Erlang中的half-sync/half-async和Leader/F ...
erlangguy 评论了 Erlang中的half-sync/half-async和Leader/F ...
event manager本质上是维护一个{Module, State}对的list,每个Module ...
erlangguy 评论了 OTP Design Principles: Gen_Event Behavio ...
erlangguy 评论了 OTP Design Principles: Gen_Event Behavio ...