OTP gen_server是否拦截收到的消息

问题描述 投票:0回答:1

我正在使用OTP的gen_server。我可以使用将消息发送到某个进程并接收响应的函数吗?我担心的是,此响应消息将被get_server拦截,并因此由handle_info而不是我的函数处理。

如果我想拥有这样的功能,该怎么办?

erlang otp
1个回答
5
投票

如果您在gen_server回调函数之一中具有receive表达式,它将不会被中断。但是,它将接收到针对gen_server本身的消息,因此您可能希望使用一种非常特定的模式,以便将其他消息保留在进程邮箱中以供以后处理。

请注意,这会使gen_server进程在等待响应消息时对其他调用无响应。

© www.soinside.com 2019 - 2024. All rights reserved.