0

シリアル ディスパッチ キューは、一度に 1 つずつタスクを実行します。しかし、タスク 1 とタスク 2 がキューにある場合はどうでしょう。task1 は実行を開始し、完了ブロックを使用して関数を呼び出します (実行には別のスレッドを使用すると想定しています)。この時点で、完了ブロックがまだ呼び出されていなくても、task1 は終了すると思います。タスク 1 の完了ブロックが実行される前に、タスク 2 が実行を開始する可能性はありますか?

4

1 に答える 1

1

はい。通常の場合、まさにそれが起こります。

続行する前に何かが完了するのを待ちたい場合は、DispatchGroupを調べてください。

于 2018-11-27T21:28:28.380 に答える