withContextってスレッド切り替え以外にも使えるって知ってた? by T45K

Kotlin Fest 2024
採択
ショート(20分)
Kotlin言語・プログラミング 中級者

withContextってスレッド切り替え以外にも使えるって知ってた?

getupmax T45K getupmax
4

KotlinではCoroutineを用いることで、非同期処理を手続き的に記述できます。
Coroutineの利用例として「ネットワークアクセスをwithContext(Dispatchers.IO)でラップすることでIOスレッドで行う」という例が紹介されることが多いです。
そのため、「withContextはスレッド切り替え時に使う」という理解をされている方は多いと思います。
しかし、実際にはwithContextはCoroutineContextを切り替えるために利用するものであり、スレッド切り替え以外にもさまざまな活用法があります。
本セッションでは、CoroutineContextについて触れたうえで、筆者のチームがwithContextをどのような場面で活用しているかを紹介したいと思います。