6

GCD では、シリアル キュー (メイン キューなど) 内のすべてのタスクが同じスレッドで実行されることが保証されていますか?

4

1 に答える 1

6

通常、シリアル キューの場合、いいえ。同時実行プログラミングガイドから:

シリアル キュー (プライベート ディスパッチ キューとも呼ばれます) は、キューに追加された順序で一度に 1 つのタスクを実行します。現在実行中のタスクは、ディスパッチ キューによって管理される個別のスレッド (タスクごとに異なる可能性があります)で実行されます。

特にメイン キューについては、はい:

メイン ディスパッチ キューは、アプリケーションのメイン スレッドでタスクを実行するグ​​ローバルに使用可能なシリアル キューです。[…] アプリケーションのメイン スレッドで実行されるため、メイン キューはアプリケーションの重要な同期ポイントとしてよく使用されます。

于 2013-10-10T15:51:44.963 に答える