0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【備忘録】初めてのiOSアプリ開発 第4回 DispatchQueue

Posted at

DispatchQueueとは

・タスクの非同期実行や並列処理を行うためのキュー
・バックグラウンドタスクの実行やメインスレッドでのUI更新を簡単に行う。
・AppleのGrand Central Dispatch(GCD)技術の一部。システムリソースを効率的に利用しながら、アプリケーションのパフォーマンスを向上させる。

Grand Central Dispatch(GCD)とは

・Appleが提供する並列プログラミングのための技術。
・iOSやmacOSで効率的なマルチスレッド処理を実現するために使用される。マルチスレッドを使用することで、プログラムの並列処理の実行や応答性の向上を図る。
・開発者がスレッドやキューを直接管理する必要なく、並列処理を実装できる。

DispatchQueueの種類

直列キュー (Serial Queue)

タスクを順番に1つずつ実行します。タスクの実行順序が保証され、競合状態を避けるのに適しています。

・キューに追加されたタスクを一つずつ順番に実行する。
・1つのタスクが完了するまで次のタスクは実行されません。
・すべてのUI更新が直列に処理されることを保証する。

メインキュー
UIの更新など、メインスレッドで行う処理のためのキュー。

バックグラウンドキュー
重い処理やネットワーク通信などのためのキュー。

並列キュー (Concurrent Queue)

複数のタスクを同時に実行することができます。タスクの順序は保証されませんが、より効率的に複数のタスクを処理できます。
・キューに追加されたタスクを同時に実行します。
・複数のタスクが並行して処理されることが可能

関連用語

関連用語 説明  
並列処理 複数の計算やタスクを同時に実行することで、全体の処理時間を短縮する技術や方法。
同期実行 タスクが完了するまで次のタスクに移らない方式
非同期実行    タスクをバックグラウンドで実行し、完了を待たずに次のタスクに進む方式。重い処理を行っている間もUIは応答可能な状態を保つことができる

参考サイト

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?