我正在可可中实现下载管理器。用户可以添加多个下载请求,请求管理器将在面板中显示请求的进度。我遇到了关于队列中请求的暂停/恢复的问题。
为简单起见,假设最大并发操作数为 1,我添加了几个请求,顺序为:1、2、3、4、5。如果没有中断,则从1到5依次下载请求。假设我暂停了请求 1,请求 2 应该继续下载。那段时间,我恢复了请求1。因此,请求2完成后,我希望请求1可以在请求3之前继续。
这里的问题是:对于我暂停时的单个请求,该请求实际上已被取消。当我恢复请求时,一个新的请求被初始化然后开始。在操作队列中,[self cancel]
如果请求被暂停,我现在发送,以便可以启动下一个请求。但是,如果恢复了,我不知道该怎么办。取消的请求无法再次添加到队列中。如果我创建了一个新的并将其添加到队列中,我如何像以前一样保证优先级?
请提供有关如何操作的提示。
谢谢