OTP gen_server 是否拦截收到的消息

Does OTP gen_server intercept received messages

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

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

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

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