目的

メインスレッドやサブスレッド(非同期)で実行したいときの実装メモ

メインスレッドで実行したい時の実装メモ

メインスレッドで実行したい時の実装メモは以下です。
{}の中にメインスレッドで実施したい処理を書きます。
主にUIの変更などで利用する場合が多いと思います。

メインスレッドで実行
DispatchQueue.main.async {
    //メインスレッドで実行したい処理
    //self.image = UIImage(data: data)
}

サブスレッド(非同期)で実行したい時の実装メモ

サブスレッドで実行したい時の実装メモは以下です。
主にAPI通信などで利用する場合が多いと思います。

サブスレッド(非同期)で実行
DispatchQueue.global().async {
    //サブスレッドで実行したい処理
}

実施されているスレッドの種類を確認したい

以下のコマンドで、メインスレッドで実行されているか確認できます。

スレッドの種類を確認1
    Thread.isMainThread

例えば、以下のようにすると

スレッドの種類を確認2
print("1:::" , Thread.isMainThread)

DispatchQueue.global().async {
    print("2:::" , Thread.isMainThread)
    //...
}

以上です。