事件处理原理

在OTP中, 事件管理器 (事件管理器)是一个命名对象,可以给其发送事件。一个 事件 (event)可以是诸如一个错误、一个警报或者是某种应被记录的信息。

在事件管理器中,可以安装零个、一个或者多个 事件处理器 (事件处理器)。当事件管理器被通知有一个事件时,所有安装了的事件处理器都会来处理该事件。例如,一个处理错误的事件管理器可以默认安装了一个将错误消息打印到终端的处理器。如果在某个特定期间,错误消息也要被保存到一个文件中,那么用户可以添加另外一个做这个事情的事件处理器。当不再需要记录到文件时,该事件处理器就会被删除。

一个事件管理器实现为一个进程,而每个事件处理器则实现为一个回调模块。

事件管理器本质上是在维护一个 {Module,State} 对的列表,其中每个 Module 是一个事件处理器, State 是事件处理器的内部状态。