- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
看来gen_server:handle_cast/3
的功能和 gen_server:handle_info/3
非常相似。我知道handle_info/3
用于处理超时事件。
有没有其他规则可以使用它们?在我看来,我更喜欢使用 handle_info/3
处理异步消息。因为使用克糖更短!
.
最佳答案
gen_server
是对典型流程消息循环的抽象。它为您提供了类似 call
的 API。和 cast
将消息发送到进程但是因为您还有 PID
进程中,任何代码都可以向进程发送消息而无需经过call
或 cast
API,在这些情况下是 handle_info
回调被调用。如果您想使用 !
向您的进程发送消息运算符,那么您可能不需要 gen_server
或者,如果您想使用 gen_server
那么建议使用call
和 cast
用于您的服务器功能和 handle_info
的 API对于其他类型的消息。
关于erlang - 何时使用 handle_info 和 handle_cast,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23604105/
看来gen_server:handle_cast/3的功能和 gen_server:handle_info/3非常相似。我知道handle_info/3用于处理超时事件。 有没有其他规则可以使用它们?
我有一个 GenServer,它负责联系外部资源。调用外部资源的结果并不重要,偶尔失败是可以接受的,所以使用 handle_cast 似乎适用于代码的其他部分。我确实有一个用于该外部资源的类似接口(i
这是我的代码: handle_cast(start, #state{started = false} = State) -> gen_server:cast(self(), add_proce
我是一名优秀的程序员,十分优秀!