android实现排队任务

相信大家做程序遇到比较多的就是队列,排队问题。对于app上这种问题比较多,比如排队下载,排队发送,并发排队网络请求等等。要如何自己做好一个这样的功能呢。下面我给大家将一下我对这一块的理解。首先在android上,用java编写的程序,需要了解一下队列Queue数据结构(如果有特别的兴趣的可以百度一下,资料很多,我就不粘贴了)。这次我们主要用的是Priorty
摘要由CSDN通过智能技术生成

相信大家做程序遇到比较多的就是队列,排队问题。对于app上这种问题比较多,比如排队下载,排队发送,并发排队网络请求等等。

 

要如何自己做好一个这样的功能呢。

 

下面我给大家将一下我对这一块的理解。

 

首先在android上,用java编写的程序,需要了解一下队列Queue数据结构(如果有特别的兴趣的可以百度一下,资料很多,我就不粘贴了)。

这次我们主要用的是PriortyBlockingQueue,大家可以理解成一个有优先级排序的阻塞队列排队,注意是可以阻塞的。

具体的PriortyBlockingQueue内部实现是堆,有兴趣的也可以去详细查一下资料。

多的就不说了,很多资料大家都能找到,下面直接看实现代码。

 

TaskManager.class

 

public class TaskManager {
    private PriorityBlockingQueue<Task> mQueue;
    private TaskDispatcher[] mTaskDispatchers;
    private volatile static TaskManager ourInstance;
    private final static int MAX_POOL_SIZE = 3;
    private AtomicInteger mSequenceGenerator = new AtomicInteger();

    private TaskManager() {
        mTaskDispatchers = new TaskDispatchers[MAX_POOL_SIZE];
        startTask();
   
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值