异步队列的实现

版权声明:需要转载的朋友下面留个言 https://blog.csdn.net/weixin_42955598/article/details/85851308

异步队列的实现

概念基础

  • 同步与异步

       -  同步和异步通常用来形容一次方法调用
       -  **同步方法**调用一旦开始,调用者**必须等到方法调用返回后**,才能继续后续的行为。
       -  **异步方法**调用更像一个消息传递,**一旦开始,方法调用就会立即返回**,调用者就可以继续后续的操作。而,异步方法通常会在另外一个线程中,“真实”地执行着。整个过程,不会阻碍调用者的工作。
    

例如 假设一个方法 需要执行 step1 , step2 , step3 , step4 . 四步完成 。
那么同步方法便会从step1 执行到 step4 之后返回。
异步方法 需要一个异步起始点 假设为 step3 。那么一开始按照顺序执行 s’tep1, step2 后立即返回。之后通过其他线程继续执行step3,step4后改线程返回结果。 例如:抢票系统,抢票点击后 先创建订单。返回给用户,再通过其他线异步抢票抢票成功后短信回复。

  • 单向/优先队列
    1. 单向队列 : 简单理解就是先进先出 。
    2. 优先队列 : 每一个队列元素拥有一个优先级 , 优先级高的元素先处理,优先级低的后处理。详情可以参考我的上一篇博客操作系统之调度算法 其中讲到了优先队列和优先队列的算法。

实现

  • 流程图在这里插入图片描述
  • 业务描述
  • 代码实现

猜你喜欢

转载自blog.csdn.net/weixin_42955598/article/details/85851308
今日推荐