GCDの用語整理
GCDの用語整理
GCDのディスパッチキューには
- 直列
- DISPATCH_QUEUE_SERIAL
- 並列
- DISPATCH_QUEUE_PRIORITY_HIGH
- DISPATCH_QUEUE_PRIORITY_DEFAULT
- DISPATCH_QUEUE_PRIORITY_LOW
- DISPATCH_QUEUE_PRIORITY_BACKGROUND
がある
また、それぞれ処理に同期(sync)と非同期(async)がある
並列はdisk I/O is throttledで順序はバラバラ。
同期は処理の完了を待ってから次の処理に移る。
非同期は処理の完了を待たずに次の処理を始め、その完了は各々に干渉しない。
したがって、パターンとして
- 直列 同期
- 直列 非同期
- 並列 同期
- 並列 非同期 がある。
ややこしいですが、mixiさんの研修資料に実行結果が載ってますので、参考にすると良さそうです。
https://github.com/mixi-inc/iOSTraining/wiki/8.2-Grand-Central-Dispatch