Elixir GenEvent和#x27;s handle_call和handle_事件?

Elixir GenEvent和#x27;s handle_call和handle_事件?,elixir,gen-event,Elixir,Gen Event,请看下面我的答案,了解我发现的差异,并告诉我这些差异是错误的还是更多的差异。谢谢。我在长生不老药上看到的不同 handle\u call必须返回应答,handle\u event不必返回应答 在我看来,事件用于更改状态,调用用于获取状态。处理事件可以通过使用同步通知进行同步。不同之处在于,handle\u call将调用事件管理器中的一个特定事件处理程序,handle\u event将在所有事件中为每个事件调用。因此,假设我notify一个事件{:custom\u event,1},模块中定

请看下面我的答案,了解我发现的差异,并告诉我这些差异是错误的还是更多的差异。谢谢。

我在长生不老药上看到的不同

  • handle\u call
    必须返回应答,
    handle\u event
    不必返回应答

在我看来,
事件
用于更改状态,
调用
用于获取状态。

处理事件
可以通过使用
同步通知
进行同步。不同之处在于,
handle\u call
将调用事件管理器中的一个特定事件处理程序,
handle\u event
将在所有事件中为每个事件调用。因此,假设我
notify
一个事件
{:custom\u event,1}
,模块中定义的每个
handle\u event
方法将调用一次?如果我进行
调用
,则只调用
{:custom\u event,1}
句柄调用
?否。GenEvent由一个事件管理器和许多事件处理程序组成。您可以在模块中实现处理程序,并且可以向管理器添加多个处理程序。因此,在所有已安装的事件处理程序中,nofity都将被调用
handle\u event