在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