原文 2015-03-06 01:44:46 发表于 CSDN,这里对以前写的文章做下收录。
从 rabbitMQ 代码中找到 gen_server2 , 对gen_server进行了一些优化。看到前辈写的博文也提到这个,引发了我的思考。见 gen_server2 - OTP gen_server优化版 。
gen_server2 引发的思考
正如 litaocheng 所说的:
gen_server 和 gen_server2 最大的不同是:
gen_server2 收到任何一条消息放到外部的队列中,当VM内部消息队列为空后,才进行消息处理,继续循环
gen_server 收到任何一条消息后,立即进行处理,处理完成后继续循环
继续阅读Erlang消息选择性接收特性