信号量在等待信号时冻结我的应用
-(void) procceddQueue {
dispatch_queue_t queue_qu = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_semaphore_t sema_qu = dispatch_semaphore_create(0);
dispatch_async(queue_qu, ^{
for (QueueItem *item in self.queueItems) {
[[UploadService sharedInstance] buildPostRequestForItem:item :sema_qu];
}
});
dispatch_semaphore_wait(sema_qu, DISPATCH_TIME_FOREVER);
[self updateQueue];
[self.queueItems removeAllObjects];
}
我将信号sema_qu变量传递给位于另一个类中的操作块。 我正在使用AFNetworking,我不确定是否可以使用AFNetworking实现信号量。