在iOS中我有一个应用程序,我需要等待GCD队列上当前正在运行的块完成。我的印象是,这行代码将做到这一点:Grand Central Dispatch:如何等待块的队列完成?
dispatch_sync(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{});
我从这里这个提示:
http://www.fieryrobot.com/blog/2010/06/27/a-simple-job-queue-with-grand-central-dispatch/
据我了解,这行代码会阻止子序列执行,直到全局队列上运行的所有任务完成。在我的代码中,这似乎并没有发生。有人可以提出一个方法来做到这一点吗?
感谢,
道格
宾果。这确实是问题。切换到顺序FIFO队列现在有这个工作。非常感谢Grzegorz。 – dugla 2012-02-20 16:07:34
如果您已经在队列中,则它不起作用,因为它会死锁。 – OrangeDog 2014-12-18 17:31:52