码迷,mamicode.com
首页 > 其他好文 > 详细

【文章阅读】任务、消息队列、以及广播的理解

时间:2018-06-14 11:24:20      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:线程池   strong   问题   简单   https   为什么   广播   需要   异步   

原文:任务与消息队列

https://zhuanlan.zhihu.com/p/37648767?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io\

理解

  1. 什么是任务(Task)?即异步执行逻辑。某种情况下可以等同于多线程;

  2. 为什么需要异步执行?
    因为同步执行耗时太久,响应时间太长,影响用户体验。对于非恶心不影响主流程的业务,可以异步执行。

  3. 简单的异步实现方式:多线程;
    多线程的不足:只是解决了响应时间的问题。
    如果同一时间响应太多,那么创建线程太多(也可以线程池,但是如果请求太多,线程池被耗尽,依旧会影响相应时间),服务器可能会挂掉。

  4. 高级的实现方式:消息队列;
    请求被放入消息队列,消息队列本身可以存储一定的数量的消息(缓存),会有专门的处理逻辑从消息队列中取出消息进行处理。
    可以理解为空间换时间;
    优点:错峰控流和解耦

  5. 广播和消息队列:
    广播是消息队列的高级进化方式:
    消息队列:一个消息只有一个接收方处理;
    广播:一个消息有多个接收方处理;

【文章阅读】任务、消息队列、以及广播的理解

标签:线程池   strong   问题   简单   https   为什么   广播   需要   异步   

原文地址:https://www.cnblogs.com/buwuliao/p/9180973.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!