OTP
超帅的土拨鼠
proletariate
展开
-
Erlang事件处理器gen_event
一、什么是gen_event 按照书上定义在OTP中,它由通用事件管理器进程组成,该进程具有动态添加和删除的任意数量的事件处理程序。事件可以是例如错误,警报或要记录的某些信息 简单来说,就是gen_event行为运行一个了一个事件管理进程,该进程接受消息(事件),并根据消息(事件)做对应的事件处理,而提供的对应事件处理其实就是添加的“回调函数”(事件处理器)。与gen_server不一样的是,...原创 2020-04-07 11:46:37 · 631 阅读 · 0 评论 -
Erlang 行为模式gen_fsm状态机 解析和案例
有限状态机这名词听起来好像很高大上,其实本质上是对象(actor)在不同状态下收到信息有不同的行为(处理方式)和状态转换,有点类似设计模式中的状态模式。 以一个简单的游戏场景为案例,在rpg游戏地图中常常会出现一些怪物,怪物站在地图里的初始状态是游荡状态,如果玩家出现在他的实现范围内,那么他的状态就会变成追击状态,离开怪物视野后又变为游荡状态,当人物打死怪物就会变成死亡,类似这种其状态会因为触发...原创 2020-03-08 23:20:16 · 837 阅读 · 1 评论 -
Erlang OTP四大行为模式之一gen_server解析和案例
在刚接触otp gen_server时很多人可能只是对着Erlang程序设计中的案例敲一遍,但对为什么要使用gen_server以及里面各个方法是如何联系和影响进程的估计都不太清楚。 首先讲下行为模式,你可以理解为面向对象中的设计模式(更像是模版方法模式),本质都是为了代码复用,当然你也可以把这些行为理解成为某种应用程序框架。我们往往在创建一个进程执行任务时都会有一下步骤, 1.spawn创建...原创 2019-09-10 22:44:27 · 1316 阅读 · 0 评论