gen_server:handle_cast/3和gen_server:handle_info/3的功能似乎非常相似。我知道handle_info/3用于处理超时事件。
还有其他规则可以使用吗?在我看来,我更喜欢使用handle_info/3来处理异步消息。因为使用语法糖!更短。
发布于 2014-05-12 09:09:19
gen_server是对典型流程消息循环的抽象。它为您提供了像call和cast这样的API来向进程发送消息,但是由于您也拥有流程的PID,任何代码都可以向进程发送消息,而无需经过call或cast API,在这些情况下,将调用handle_info回调。如果您想使用!运算符向您的进程发送消息,那么您可能不需要gen_server或如果您想使用gen_server,则建议您的服务器功能使用call和cast API,对于其他类型的消息则使用handle_info。
https://stackoverflow.com/questions/23604105
复制相似问题