SwiftUI | DispatchQueue main/global() sync/asyncの違いを実験で理解する
SwiftUIのDispatchQueue main/global() sync/asyncの違いを実験で理解した結果を説明する。◾結論 以下8パターンの実験を行った。
メインスレッドからDispatchQueue.main.sync
メインスレッドからDispatchQueue.main.async
メインスレッドからDispatchQueue.global().sync ★1
メインスレッドからDispatchQueue.global().async
外部スレッドからDispatchQueue.main.sync ★2
外部スレッドからDispatchQueue.main.async ★2
外部スレッドからDispatchQueue.global().sync
外部スレッドからDispatchQueue.global().async ★1
実験から★1,★2は以下の特徴があることがわかった。
★1 並列処理ができるため処理を高速化できる。
★2 メインスレッドに処理を渡すことができる。