目的
メインスレッドやサブスレッド(非同期)で実行したいときの実装メモ
メインスレッドで実行したい時の実装メモ
メインスレッドで実行したい時の実装メモは以下です。
{}
の中にメインスレッドで実施したい処理を書きます。
主にUIの変更などで利用する場合が多いと思います。
DispatchQueue.main.async {
//メインスレッドで実行したい処理
//self.image = UIImage(data: data)
}
サブスレッド(非同期)で実行したい時の実装メモ
サブスレッドで実行したい時の実装メモは以下です。
主にAPI通信などで利用する場合が多いと思います。
DispatchQueue.global().async {
//サブスレッドで実行したい処理
}
実施されているスレッドの種類を確認したい
以下のコマンドで、メインスレッドで実行されているか確認できます。
Thread.isMainThread
例えば、以下のようにすると
print("1:::" , Thread.isMainThread)
DispatchQueue.global().async {
print("2:::" , Thread.isMainThread)
//...
}

以上です。