dispatch_queue_t SerialQueue如何检查是否仍在运行。 ios GCD

我需要进行validation,为此我需要知道任务是否仍在运行我使用此代码来启动任务

` SerialQueue = dispatch_queue_create("miColaEnSerie", NULL); dispatch_async(SerialQueue, ^{ [self loadImageFriend:init finalWhitNumber:final img1WithArray:infoImages1 img2WithArray:infoImages2 img3WithArray:infoImages3]; });` 

如果您的SerialQueue中一次只有一个任务,那么您可以将primefaces属性添加到类,如:

 @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并相应地增加/减少它。 然后validation它是否为0,这意味着此时队列中没有任何内容。

有时最好在任务完成时实现通知以获取信息,然后执行某些操作。