DispatchQueueとは
・タスクの非同期実行や並列処理を行うためのキュー
・バックグラウンドタスクの実行やメインスレッドでのUI更新を簡単に行う。
・AppleのGrand Central Dispatch(GCD)技術の一部。システムリソースを効率的に利用しながら、アプリケーションのパフォーマンスを向上させる。
Grand Central Dispatch(GCD)とは
・Appleが提供する並列プログラミングのための技術。
・iOSやmacOSで効率的なマルチスレッド処理を実現するために使用される。マルチスレッドを使用することで、プログラムの並列処理の実行や応答性の向上を図る。
・開発者がスレッドやキューを直接管理する必要なく、並列処理を実装できる。
DispatchQueueの種類
直列キュー (Serial Queue)
タスクを順番に1つずつ実行します。タスクの実行順序が保証され、競合状態を避けるのに適しています。
・キューに追加されたタスクを一つずつ順番に実行する。
・1つのタスクが完了するまで次のタスクは実行されません。
・すべてのUI更新が直列に処理されることを保証する。
メインキュー
UIの更新など、メインスレッドで行う処理のためのキュー。
バックグラウンドキュー
重い処理やネットワーク通信などのためのキュー。
並列キュー (Concurrent Queue)
複数のタスクを同時に実行することができます。タスクの順序は保証されませんが、より効率的に複数のタスクを処理できます。
・キューに追加されたタスクを同時に実行します。
・複数のタスクが並行して処理されることが可能
関連用語
関連用語 | 説明 |
---|---|
並列処理 | 複数の計算やタスクを同時に実行することで、全体の処理時間を短縮する技術や方法。 |
同期実行 | タスクが完了するまで次のタスクに移らない方式 |
非同期実行 | タスクをバックグラウンドで実行し、完了を待たずに次のタスクに進む方式。重い処理を行っている間もUIは応答可能な状態を保つことができる |
参考サイト