在你的程序中加入任务队列

背景

又是iPhone发布的日子了。自己用了三四年的4s,也是该退伍了。兴致冲冲冲冲冲的在Apple Store上下了单,但是订单信息却久久不能更新。

任务队列

这里不得不提的就是任务队列。
所谓任务队列:就是将一个操作持久化,然后存到一个队列里面(比如存在数据库中)。同时又不断的从这个队列里面取出数据,挨个执行(有点像多线程中的生产者消费者问题)。


传统的方式:就是有一个操作执行一个。

  1. 这对于异步操作来说:可能导致同一时间内有多个任务,占用了太多的硬件资源。
  2. 这对于同步操作来说:将出现阻塞现象。

所以从程序员的角度去理解这次的订单现象,其大致原理就是用了任务队列。
在开发的过程中,经常会遇到需要用到任务队列的情况。采用了任务队列的好处是:

  1. 在同一时间需要进行大量费时的操作,采用消息队列,可以把CPU,内存等资源节省下来,提高并发量。
  2. 将一次性处理一大组数据的方式改为任务队列,可以降低出错的严重性。

当然啦,也不是所有的操作都需要搞成一个任务队列,这还得看具体的操作是什么。

转载本站文章请注明作者(xtutu)和出处 xtutu.me