我正在使用cocoa实现一个下载管理器。用户可以添加多个下载请求,请求管理器将在面板中显示请求的进度。我遇到了队列中请求暂停/恢复的问题。
为简单起见,假设最大并发操作数为1,我添加了几个请求,顺序为:1,2,3,4,5。如果没有中断,请求将按顺序从1到5下载。假设我暂停请求1,请求2应继续下载。在此期间,我恢复请求1.因此,在请求2完成后,我希望请求1可以在请求3之前继续。
这里的问题是:对于我暂停时的单个请求,请求实际上已被取消。当我恢复请求时,新请求被初始化然后启动。在操作队列中,如果请求暂停,我现在发送了[self cancel]
,以便可以启动下一个请求。但是,我不知道如果恢复怎么办。取消的请求无法再次添加到队列中。如果我创建了一个新的并将其添加到队列中,我怎么能像以前一样承诺优先级?
请提供有关如何操作的提示。
感谢
答案 0 :(得分:0)
目前我自己使用以下方法制作解决方案:
ASIHttpRequest
; NAMutableArray
包含所有请求; waiting
; waiting
的时间来查看位于第一个位置的请求;