官方文档:
https://developer.apple.com/documentation/foundation/operation
0 业务讲解
- 用户看到的上传列表,每一行对应一篇日记。(对应一个一级队列,HMUploadManager.m_OperationQueue)
- 必须上传完一篇日记才能上传下一篇。(一级队列并发数是1)
- 每篇日记可能包含多张照片,每个照片作为最小的上传单位。(照片所在的队列对应一个二级队列,HMSecondLevelUploadManager.m_OperationQueue)
- 照片队列并发数是2。(二级队列并发数为2,static const NSInteger kConcurrentOperationCount = 2)
- 对于上传列表中的每篇日记,可以暂停、继续、删除。
- 提供全部暂停和全部删除的功能。
1 设计思路
- 任务队列且需要灵活控制并发数,肯定使用Operation以及OperationQueue来实现。