3

WWDC 2012 のビデオ「コア データのベスト プラクティス」によると、dispatch_syncある種performBlockNSPrivateQueueConcurrencyType.

何故ですか?

...を使用dispatch_async(dispatch_get_main_queue(), 0)して、プライベート キューのコンテキストで UI 関連のコールバックを呼び出すことはできますperformBlockか?

4

2 に答える 2

4

いいえ NSPrivateQueueConcurrencyType、独自の内部キューを管理し、やりたいことを実行するためにそのスレッドの 1 つを離れようとすることを楽しんでいません (実際、この種の動作が発生すると例外がスローされると思います)。これを処理するにはいくつかの方法があります。もちろん、真の「非同期感」を得るには、セマフォをシグナリングする方がより受け入れられる設計パターンですが、お気づきのようdispatch_syncに、通常は行く方法です。

于 2012-11-20T07:53:49.287 に答える