Task.detached
で作られた Task
上で実行されて、 Task { @MainActor in
だと新しい Task
上で実行されるのが違いか。ただし、どちらでも main スレッド( DispatchQueue.main
上)で実行されると。DispatchQueue
はキューが priority
を持ってるけど、 Swift Concurrency では actor
(キューの保持者)ではなく Task
が priority
を持っている。 Task
が suspend されたときに resume される優先度が Task
の priority
で決まると思ってたけど、 actor
は suspend した Task
の priority
に関わらずキューに突っ込んだ順に resume する?それとも MainActor
は DispatchQueue.main
を使っている関係で Task
の priority
を無視して前から処理する? (edited)