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
デッドロックが発生するため、既にキューに入っている場合は機能しません。 – OrangeDog