코루틴(Coroutine) Dispatchers.Main 사용하기

|

Dispatchers.Main

Dispatchers.Main는 해당 CoroutineScope을 Main UI Thread에서 동작시키도록 합니다.

안드로이드에서 Dispatchers.Main을 그냥 사용하려고 하면 다음과 같은 에러가 발생하는데,

java.lang.ILLegalStateException: Module with Main dispatcher is missing. Add dependency with required Main dispatcher, e.g. 'kotlinx-coroutines-android'

gradle에 다음 라인을 추가해주면 됩니다.

implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.1'

Dispatchers.Main을 이용해서 코루틴을 구동시키면 Main UI Thread에서 동작하기 때문에, Thread.currentThread().id 값을 확인해보면 같은 id 값을 가지는 것을 확인할 수 있습니다.

또한 시간이 오래 걸리는 작업 등을 동작시킬 경우 ANR(Application Not Responding)과 같은 오류가 발생할 수도 있으니 주의해야 합니다.