Erlang之gen_event基础入门

1.概念:

     gen_event是OTP四大行为之一,是一种对事件的抽象,也是基于匹配回调的模式,它比gen_server更加灵活,因为它可以随意添加回调模块,而且它不会因为无法匹配而崩溃,它会把它丢给terminate,直接输出,但因为他会遍历每个回调模块,所以它的时间复杂度肯定会比gen_server更高。

2.基本函数:

1.start()  -> Result

   start(EventMsg|Option) -> Result

   start(EventMsg,Option) -> Result

   start()用于申请一个gen_event服务器的进程,Event有{local,Name}和{global,Name},前者是建立一个本地的进程,后者建立一个全节点都能访问的全局服务器,Name其实就是这个进程名,它必须是唯一的。

2.start_link()  -> Result

   start_link(EventMsg|Option) -> Result

   start_link(EventMsg,Option) -> Result

   start_link和start不同在于,它是在创建监察者树的时候调用的是前者,为什么呢?那就要讲到一些监察者树的特性了,监察者树用于监察进程,若进程出现错误而崩溃,监察者速能快速重启,监察者树有一种模式,就是其中一个进程崩溃,其他模式要一起重启,所以需要link来连接他们,让他们联系在一起,当然,这是个人推测。

3.call(A, B, C) -> Result

  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值