OTP系列

gen_server入门

gen_server入门 1)什么是gen_server? gen_server是OTP(Open Telecom Platform)的一个组件,OTP是Erlang的应用程序框架,gen_server定义了自己的一套规范,用来写Erlang服务器程序 gen_server manual: http://www.erlang.org/doc/man/gen_server.html 2)使用gen ...
hideto 评论 (3) 有 11546 人浏览 OTP系列章节 2011-06-01

OTP Design Principles Overview

1,Supervision Trees 来源于workers和supervisor模型 workers就是实际执行计算的进程 supervisors是监控workers的进程,如果workers进程崩溃,supervisors可以负责重启workers进程 supervision tree将代码分层为supervisors和workers,方便构建容错系统 2,Behaviours Behavio ...
hideto 评论 (0) 有 1420 人浏览 OTP系列章节 2011-06-01

OTP Design Principles: Gen_Server Behaviour

OTP Design Principles: Gen_Server Behaviour 1,Client-Server原则 client-server模型由一个中心服务器和任意多的客户端组成 该模型主要用来做资源管理操作,不同的客户端共享一个通用的资源,服务器负责管理该资源 2,例子 -module(ch3). -behaviour(gen_server). -export([start_li ...
hideto 评论 (1) 有 2060 人浏览 OTP系列章节 2011-06-01

OTP Design Principles: Gen_Fsm Behaviour

1,有限状态机 FSM,有限状态机,可以用以下形式来描述做一个关系集: State(S) x Event(E) -> Actions(A), State(S') 意思是,如果我们位于状态S,然后事件E发送了,则我们应该执行动作A,并且将状态改为S' 2,例子 有一个代码锁的门,如果输入的代码顺序是对的,那么将门打开30秒 如果输入代码不完全,则等待下次按钮按下,如果输入代码顺序是错的,则 ...
hideto 评论 (0) 有 2631 人浏览 OTP系列章节 2011-06-01

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 ...
hideto 评论 (2) 有 1840 人浏览 OTP系列章节 2011-06-01

OTP Design Principles: Supervisor Behaviour

Supervisor Behaviour是一个用来实现一个supervisor进程来监控其他子进程的模块 子进程可以是另一个supervisor,也可以是一个worker进程 worker进程一般使用gen_event,gen_fsm或gen_server behaviour来实现 一个使用该模块来实现的supervisor有一个接口方法的标准集,包括跟踪和错误报告的功能 supervisor用来构 ...
hideto 评论 (1) 有 2618 人浏览 OTP系列章节 2011-06-01

Application and Includeed Application

今天MailList中一个问题,在Application和Includeed Application中调用application:get_application/0,返回都是Primary Applicaion Name,为什么是这样呢? 在Erlang OTP中Application可以包其他Application,也就是Included Application。我前阵子在项目中也尝试使用Inc ...
litaocheng 评论 (0) 有 1958 人浏览 OTP系列章节 2011-06-01

reltool用户指南

说明,最近比较忙,没有太多时间更新blog,请各位朋友谅解. 寻找俺的朋友,可以gtalk : litaocheng[at]gmail.com 或者 twitter : @litaocheng 这篇文章,应该是我写的最久的一篇,请各位多实践. reltool使用指南 Author: litaocheng Mail: litaocheng@gmail.com Re ...
litaocheng 评论 (0) 有 2243 人浏览 OTP系列章节 2011-06-01

erlang otp 应用发布指南(一) tiny-1.0非真正OTP

Author: litaocheng@gmail.com Data: 2009-3-1 Version: 0.2 tiny OTP Application 为了简单,我们创建一个超级简单的application, 其只有一个module, 其不使用supervisor, 只创建一个简单的process, 我们为这个应用名叫:tinyapp (tinyapp-1.0). 其代 ...
litaocheng 评论 (1) 有 4696 人浏览 OTP系列章节 2011-06-01

erlang otp 应用发布指南(二) tiny-2.0 (supervisor)

Release Handling Erlang的Release Handling, 充分利用Erlang的code hot swap特性, 让你的应用可以比较顺畅的进行升级,回退. tiny-2.0 tiny-1.0已经成功的部署到了 /opt/local/tiny-1.0/ 目录. 最近,我们对tiny进行了改进, 准备要发布tiny-2.0. 我们在回想一下tiny-1.0, 在开始 ...
litaocheng 评论 (0) 有 2862 人浏览 OTP系列章节 2011-06-01

erlang otp 应用发布指南(三) tiny-3.0

tiny-3.0 最后,让我们弥补前面tiny-2.0的缺憾, 我们要开发tiny-3.0. tiny-3.0中我们不会在重启application, 我们这次 让Application温和的不间断的完成升级. 这里我假设你已经看懂前面的部分,并且亲自动手做了很多尝试. 下面是快速,直白的代码罗列.. 代码修改 新建tiny-3.0目录,添加一个module: mydict.erl ...
litaocheng 评论 (0) 有 1982 人浏览 OTP系列章节 2011-06-01

知识库信息

最新评论

相当不错的erlang,我们通信后台自从改成elrang后基本没出过什么大问题
406656983 评论了 进入Erlang的世界
听说几百万进程都不高cpu的
xlaohe1 评论了 进入Erlang的世界
有没有自己的例子公布一个
wrj913 评论了 gen_server入门
我是erlang 菜鸟,弱弱的问一下,erlang帮助文档,那有怎么用,连 Mod名、Func名,是什 ...
wrj913 评论了 Programming Erlang读书笔记8: Concurrency ...
winstars 写道这篇文章排版不错哈哈。。楼主一定是经常写文档的
suu 评论了 进入Erlang的世界
在学精JAVA语言之前,我是不会学其它语言的,无论它有多好、多美。
lshhjxlj 评论了 进入Erlang的世界
坚持学,会有成果的,正在感受erlang带来的快乐和便利
acme_ltt 评论了 进入Erlang的世界
学过一段时间,没有认真静下心来学,就没再坚持看
mj-beijing 评论了 进入Erlang的世界
这篇文章排版不错
winstars 评论了 进入Erlang的世界
Erlang目前还没打算学习,不过长见识了;多谢楼主分享
blues1021 评论了 进入Erlang的世界
在本文中,self表示的是实际执行中创建的那个进程,也就是 start(Mod,Env) -> ...
fsword 评论了 Erlang新手进阶笔记(3) - 通用的server
最后一句,在erlang中所有的self()我见过的都是表示进程的……
松秋明 评论了 Erlang新手进阶笔记(3) - 通用的server
self()实际表示如下% 实际执行体 % loop(Mod, State) -> rece ...
松秋明 评论了 Erlang新手进阶笔记(3) - 通用的server
% 初始化服务,注册名称,启动init方法,初始化服务时接受一个参数 % init(Mod, Env) ...
松秋明 评论了 Erlang新手进阶笔记(3) - 通用的server
应该不错吧,我正在学习Erlang哦。
kangdiji 评论了 进入Erlang的世界
更好的解决方案是指设置{packet,size}?
erlangguy 评论了 Erlang网络编程-Binary
不明白为什么第一个例子handler(Socket)中close(Socket)后还调用了handle ...
erlangguy 评论了 Erlang中的half-sync/half-async和Leader/F ...
解释得不错。
erlangguy 评论了 OTP Design Principles: Supervisor Behavi ...
再说明一下和init里{ok,State}的关系,容易理解一些。
erlangguy 评论了 OTP Design Principles: Gen_Event Behavio ...
event manager本质上是维护一个{Module, State}对的list,每个Module ...
erlangguy 评论了 OTP Design Principles: Gen_Event Behavio ...
Global site tag (gtag.js) - Google Analytics