如何确定当前正在运行的异步GCD调度队列

|| 我的iOS应用程序上有一个刷新按钮,可在GCD中启动异步调度队列。队列的名称是自定义的。可能会出现以下问题:用户将按钮弄乱了,导致创建了大量不必要的队列。我的希望是检查是否存在一个激活了特定名称的队列,这样我就无法启动另一个队列或添加到具有相同名称的相同队列中。 这可能吗?     
已邀请:
        我不认为您应该为每个请求创建新的队列。并且由于您似乎并不担心它们在创建新的队列来执行每个块时是连续的,因此建议您使用全局队列来运行块。这两个动作是同义词,因为它们是您生成的调度队列的最终目标队列。获取队列很简单,应该替换您创建自己的队列的代码。
dispatch_queue_t aQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
如果希望它们按顺序运行,则应将自己的队列定义为实例变量,以便仅创建一次,并在每次需要分配块时使用相同的队列。     
        好吧,您可以通过添加对象来维护Mutable字典
[dict setobject:<your object> forkey:<the queue name>]
当您发送后续请求时,则可以在方法中检查以下内容:
object = [dict objectforkey:<queue name>]

if (object == nil)
//send the request
队列操作完成后,从字典中删除键-对象对。
[dict removeobjectforkey: < queue name >
    
        不,没有方法可以按名称从系统获取串行队列。您需要自己拥有串行队列。     

要回复问题请先登录注册