Swiftで遊ぼう! - 922 - Serial と Concurrent キュー
- Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
- 初心者はここから!-> 50オヤジでもできるiOS開発
- 私の本業、オフィシャルなブログ-> Life-LOG
- Swift 3 対応
Queues
一連のコードブロックをQueueというグルーピングにします。これを英語で「dispatch queue」と言います。これをコードで表現すると「DispatchQueue」です。そして複数のスレッドが生じた時に安全にコードを実行させるために、適切なdispatch queueのタイプを選択して機能を利用しないといけないんです。
基本的にQueueは2種類あります。「Serial」と「Concurrent」です。Serial queueはタスクを1つずつこなすのでGCDは実行タイミングだけコントロールできますが、どのくらい時間がかかりいつ終わるか知ることはできません。
Concurrent queueは複数のタスクを同時に実行させることができます。実行開始時の順番は保証されていますが、タスクの終了タイミングはタスクにより異なる場合があります。