我需要进行验证,为此,我需要知道任务是否仍在运行,我使用此代码来启动任务
` SerialQueue = dispatch_queue_create("miColaEnSerie", NULL);
dispatch_async(SerialQueue, ^{
[self loadImageFriend:init finalWhitNumber:final img1WithArray:infoImages1 img2WithArray:infoImages2 img3WithArray:infoImages3];
});`
最佳答案
如果您在SerialQueue中一次只执行一项任务,则可以向以下类添加原子属性:
@property (assign) BOOL isSerialQueueRunning;
然后:
isSerialQueueRunning = YES;
dispatch_async(SerialQueue, ^{
[self loadImageFriend:init finalWhitNumber:final img1WithArray:infoImages1 img2WithArray:infoImages2 img3WithArray:infoImages3];
isSerialQueueRunning= NO;
});
但是,如果有更多任务要添加到SerialQueue中,则可以将
BOOL isSerialQueueRunning
更改为NSInteger serialQueueTasks
并相应地对其进行增减。然后验证它是否为0,这意味着当前队列中没有任何内容。有时最好在任务完成时实施通知以获取信息,然后再执行一些操作。
关于objective-c - dispatch_queue_t SerialQueue如何检查是否仍在运行。 ios GCD,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13033165/