我使用NSOperationQueue
. 我在其中设置maxConcurrentOperationCount
为25
. 即同时同时运行 25 个线程。
我正在使用 this 将块上传到服务器NSOperationQueue
。因此,块被分配给前 25 个线程。满后NSOperationQueue
,我想暂停分块读取部分,然后每当队列中的线程完成时,恢复分块部分以分配新线程NSOperationQueue
以替换完成的线程。
我的代码:
NSOperationQueue *operationQueue = [NSOperationQueue new];
operationQueue.maxConcurrentOperationCount=5;
NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(upload:) object:f_objChunkDetails->FileStream];
NSUInteger oprCnt=operationQueue.operationCount;
if(oprCnt >= 5) {
// wait till queue has a free slot
} else {
[operationQueue addOperation:operation];
}
那么如何使用暂停和恢复NSOperationQueue
呢?如何ManualResetEvent
在 Objective-C 中实现?