12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- //
- // QNConcurrentResumeUpload.m
- // QiniuSDK
- //
- // Created by WorkSpace_Sun on 2019/7/15.
- // Copyright © 2019 Qiniu. All rights reserved.
- //
- #import "QNLogUtil.h"
- #import "QNConcurrentResumeUpload.h"
- @interface QNConcurrentResumeUpload()
- @property(nonatomic, strong) dispatch_group_t uploadGroup;
- @property(nonatomic, strong) dispatch_queue_t uploadQueue;
- @end
- @implementation QNConcurrentResumeUpload
- - (int)prepareToUpload{
- self.uploadGroup = dispatch_group_create();
- self.uploadQueue = dispatch_queue_create("com.qiniu.concurrentUpload", DISPATCH_QUEUE_SERIAL);
- return [super prepareToUpload];
- }
- - (void)uploadRestData:(dispatch_block_t)completeHandler {
- QNLogInfo(@"key:%@ 并发分片", self.key);
-
- for (int i = 0; i < self.config.concurrentTaskCount; i++) {
- dispatch_group_enter(self.uploadGroup);
- dispatch_group_async(self.uploadGroup, self.uploadQueue, ^{
- [super performUploadRestData:^{
- dispatch_group_leave(self.uploadGroup);
- }];
- });
- }
- dispatch_group_notify(self.uploadGroup, self.uploadQueue, ^{
- completeHandler();
- });
- }
- @end
|