erlang四大behaviour之二-gen_fsm】的更多相关文章

来源:http://www.cnblogs.com/puputu/articles/1701012.html 今天介绍erlang的一个非常重要的behaviour,就是gen_fsm-有限状态机,有限状态机的作用非常之多,比如文本解析,模式匹配.游戏逻辑等等方面的处理都是它的强项,所以这个behaviour非常之重要 1. 有限状态机 有限状态机可以用下面这个公式来表达 State(S) x Event(E) -> Actions(A), State(S') 表示的就是在S状态时如果有事件E发…
http://www.cnblogs.com/puputu/articles/1689621.html 1. 监督规则 一个监督者负责启动.停止.监控他的子进程.监督者的一个基本概念就是当必要的时候重启子进程保证它们的存活 哪个子进程要重启和被监控是由一个子规程列表决定的,子进程按照列表中指定的顺序启动,并按相反的顺序终止 2. 实例 监督者的回调模块 -module(ch_sup).  -behaviour(supervisor).  -export([start_link/0]).  -ex…
  来源:http://www.cnblogs.com/puputu/articles/1701017.html erlang程序设计里面有个设计原则就是把你的进程构造成树,把共用代码提出来,特定功能用自己的module实现,这也就是behaviour了,应用behaviour可以减少与本身事务无关的代码量,设计逻辑更加清晰.老纪边学习边记录吧. gen_server实现服务器/客户端模型,用于多个客户共用一个资源的这种情况.他由几个接口函数和几个回调函数组成(回调函数必须在你的module里定…
erlang程序设计里面有个设计原则就是把你的进程构造成树,把共用代码提出来,特定功能用自己的module实现,这也就是behaviour了,应用behaviour可以减少与本身事务无关的代码量,设计逻辑更加清晰.老纪边学习边记录吧. gen_server实现服务器/客户端模型,用于多个客户共用一个资源的这种情况.他由几个接口函数和几个回调函数组成(回调函数必须在你的module里定义)这些可以参考erlang的doc 举个例子: -module(ch3). %这是我们的回调模块,也是我们实现业…
来源:http://www.cnblogs.com/puputu/articles/1689623.html 1. 事件处理规则 在OTP中,事件管理器是一个事件可以发送到的命名对象,一个事件可以是一个错误.一个警告.或者一些要写入日志的信息 在事件管理器中,有0个.一个或者多个事件处理器被安装,当事件管理器被一个事件通知时,这个事件将被安装在事件管理器中的事件处理器处理, 事件管理器用一个进程实现,事件处理器用回调模块实现.事件管理器本质上维护一个{Module, State}列表,每一个Mo…
service可以在和多场合的应用中使用,比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放,比如检测SD卡上文件的变化,再或者在后台记录你地理信息位置的改变等等,总之服务嘛,总是藏在后头的. Service是在一段不定的时间运行在后台,不和用户交互应用组件.每个Service必须在manifest中 通过<service>来声明.可以通过contect.startservice和contect.bindserverice来启动. Service和其他的应用组件一样…
一.Service的分类 1.1>Android Service 使用Java编写在JVM中运行的服务 1.2>Native Service 使用C/C++完成的服务,一般在系统开始时完成初始化,如MediaService, Audio Service等. 二.Native Service工作流程分析 int main(int argc, char** argv) { sp<ProcessState> proc(ProcessState::self()); sp<IServi…
一.Native Service 1>什么是Native Service 使用JNI编写,在系统启动完成之前启动的系统级服务. 2>哪些服务是Native Service ACCESSIBILITY_SERVICE ACCOUNT_SERVICE ACTIVITY_SERVICE ALARM_SERVICE AUDIO_SERVICE CLIPBOARD_SERVICE CONNECTIVITY_SERVICE DEVICE_POLICY_SERVICE DOWNLOAD_SERVICE DR…
一.什么是Service 有些用时比较长得操作我们希望他在后台运行 ,不耽误我们当前的操作 . 这就引入了Service概念 . 常见的比如:访问网络 , 文件IO操作 , 大数据的数据库任务,播放音乐等 . Service在后台运行,不与用户进行交互.在默认情况下,Service运行在应用程序进程的主线程中,如果需要在Service中处理一些网络连接等耗时的操作,那么应该将这些仸务放在单独的线程中处理,避免阻塞用户界面 二.Question 1,启动服务后,按Home键,服务是否还在运行? …
继上一篇文章:http://www.cnblogs.com/linhaostudy/p/7427027.html 二.inode结构体:(转自http://blog.csdn.net/shanshanpt/article/details/38943731) inode结构体在(include/linux/fs.h中): 保存的其实是实际的数据的一些信息,这些信息称为“元数据”(也就是对文件属性的描述).例如:文件大小,设备标识符,用户标识符,用户组标识符,文件模式,扩展属性,文件读取或修改的时间…