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
。