首页 > 代码库 > 消息队列技术终结者(四)—消息消费者以何种方式接收消息
消息队列技术终结者(四)—消息消费者以何种方式接收消息
消息消费者可以同步接收消息,也可以异步接收消息,一般而言,采用异步的方式接受消息优于采用同步的方式接受消息,体现在:
1、异步方式创建的网络流量比较小,单向推送消息并使之通过管道进入消息监听器。管道操作支持将多条消息聚合为一个网络调用。
2、异步方式使用线程比较少。异步方式在消息接收者不活动期间不使用线程。同步方式的消息接收者在接收调用期间内使用线程,结果线程可能会长时间保持空闲,尤其是该调用中指定了阻塞超时。
3、使用异步方式可以规避阻塞服务器上运行的应用程序代码。别忘了:阻塞操作会使服务器端线程空闲(甚至会导致死锁)。阻塞操作使用所有线程时则发生死锁,如果没有空余的线程可以处理阻塞操作自身解锁所需的操作,则该方法则永远处于阻塞状态。
1、异步方式创建的网络流量比较小,单向推送消息并使之通过管道进入消息监听器。管道操作支持将多条消息聚合为一个网络调用。
2、异步方式使用线程比较少。异步方式在消息接收者不活动期间不使用线程。同步方式的消息接收者在接收调用期间内使用线程,结果线程可能会长时间保持空闲,尤其是该调用中指定了阻塞超时。
3、使用异步方式可以规避阻塞服务器上运行的应用程序代码。别忘了:阻塞操作会使服务器端线程空闲(甚至会导致死锁)。阻塞操作使用所有线程时则发生死锁,如果没有空余的线程可以处理阻塞操作自身解锁所需的操作,则该方法则永远处于阻塞状态。
消息队列技术终结者(四)—消息消费者以何种方式接收消息
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。