美文网首页
书城图书下载

书城图书下载

作者: Nomo_C | 来源:发表于2018-05-02 14:01 被阅读0次

    1.将图书下载的任务封装成了一个自定义的NSOperation。

    2.创建NSOperationOueue,处理图书下载。图书下载器管理两类状态的图书:“下载中”、“等待中”。“下载中”图书加入到OperationOueue中执行,并保存到runningTasks数组中。“等待中”的图书保存在queuedTasks中。

    3.通过下载器的属性maximumActiveDownloads控制runningTasks数量,增加新任务时比较当前下载的数量是否小于maximumActiveDownloads的值,如果小于则加入下载队列,反之则加入等待队列。书城下载不支持多本书下载,默认最下下载数为1。

    注:NSOperationOueue是可以控制并行下载的数量的,这里之所以不使用NSOperationOueue控制原因是由于无法控制operation的执行顺序。

    4.为了保证操作的线程安全,创建了两个OperationQueue。一个窜行队列,一个并行队列。对于runningTasks和queuedTasks的操作都在窜行队列中执行。并行队列执行NSOperation的回调。

    参考资料:AFImageDownloader

    相关文章

      网友评论

          本文标题:书城图书下载

          本文链接:https://www.haomeiwen.com/subject/kwtmqftx.html