#同期処理と非同期処理の基本
####同期処理とは
あるタスクを順番に実行する方式で、そのタスクが実行されている間は他のタスクが中断される
####非同期処理とは
ある処理を実行する間に他の処理を実行できる
####DispatchQueueとは
GCD(Grand Central Dispatch)の一部
DispatchQueueないにタスクを詰めると非同期で実行してくれる
DispatchQueue自体には、
Serial、Concurrent、mainの3種類がある。
####DispatchQueue.main
OS側で作成済みなので呼び出すだけ。
1つだけ存在。
直列処理タイプ。
UI表示系タスクはここで行わないと動かない。
viewController.swift
let mainQueue = DispatchQueue.main
####DispatchQueue.Global
OS側で作成済みなので呼び出すだけ。
5つ存在。(ただし、実質使えるのは4つ)
並列処理タイプ。
用途を指定して呼出し。
viewController.swift
// UserInteractiveタイプ
let grobalQueue = DispatchQueue.global(qos: .userInteractive)
####sync
viewController.swift
dispatchQueue.sync {
print("同期")
}
####async
viewController.swift
dispatchQueue.async {
print("非同期")
}