首页 > 代码库 > 消息队列技术终结者(四)—消息消费者以何种方式接收消息

消息队列技术终结者(四)—消息消费者以何种方式接收消息

        消息消费者可以同步接收消息,也可以异步接收消息,一般而言,采用异步的方式接受消息优于采用同步的方式接受消息,体现在:
        1、异步方式创建的网络流量比较小,单向推送消息并使之通过管道进入消息监听器。管道操作支持将多条消息聚合为一个网络调用。
        2、异步方式使用线程比较少。异步方式在消息接收者不活动期间不使用线程。同步方式的消息接收者在接收调用期间内使用线程,结果线程可能会长时间保持空闲,尤其是该调用中指定了阻塞超时。
        3、使用异步方式可以规避阻塞服务器上运行的应用程序代码。别忘了:阻塞操作会使服务器端线程空闲(甚至会导致死锁)。阻塞操作使用所有线程时则发生死锁,如果没有空余的线程可以处理阻塞操作自身解锁所需的操作,则该方法则永远处于阻塞状态。

消息队列技术终结者(四)—消息消费者以何种方式接收消息