【Swift】実行されているスレッドをチェックする方法!メイン/バックグラウンド
この記事からわかること
- Swiftで実行されているスレッドを識別するには?
- メインスレッドやバックグラウンドを識別する
- ThreadクラスのisMainThreadプロパティとは?
index
[open]
\ アプリをリリースしました /
友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-
posted withアプリーチ
環境
- Xcode:15.0.1
- iOS:17.0
- Swift:5.9
- macOS:Sonoma 14.1
実行されているスレッドをチェックする方法
DispatchQueue
などでスレッドを切り替えて処理を実行している際にどのスレッドで処理が行われているかを識別するためにはThread
クラスのcurrent
プロパティを参照します。
print(Thread.current)
// <_NSMainThread: 0x600001708040>{number = 1, name = main}
DispatchQueue.global(qos: .background).async {
print(Thread.current) // <NSThread: 0x600001701a80>{number = 5, name = (null)}
}
メインスレッドかどうかを識別したいだけならThread
クラスのisMainThread
プロパティを参照します。
print(Thread.current.isMainThread) // true
DispatchQueue.global(qos: .background).async {
print(Thread.current.isMainThread) // false
}
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。