Avatar
Avatar
koher
オーバーヘッドと言っても、メインスレッドで実行したい処理であれば必要なことですし、従来 DispatchQueue.main.async{ } してたのと変わらないと思いますので、気にする必要はないと思います。 ただ、個人的に↓のようなケースは気になってます。従来はなかった遅延だと思うので、 Task.init の中でボタン無効化したりしていたら、それまでに割り込まれる可能性がありますし。 func buttonPressed(sender: UIButton) { Task { ... } } (edited)
従来 DispatchQueue.main.async{ } してたのと変わらない
なるほど、確かにそうですね。これで良いのかと不安に思っていたのでありがたいです。 buttonPressedに関しては @MainActor が付与されていれば Task も MainActor と同じExecutorで実行されるのでhopがなく遅延も無いと思っていたんですがhopが無いだけでenqueueする遅延は起きるということですかね。
(edited)