Dispatchers

  • 코루틴의 실행 "Coxtext"를 관리함
  • 코루틴이 어떤 쓰레드나 쓰레드 풀에서 실행될지를 결정한다
  Main IO Default Unconfined
동작 UI쓰레드에서 실행 백그라운드 스레드 풀 (파일, 네트워크) CPU 연산 전용 스레드 풀 처음 호출한 스레드에서 계속
사용적 Android UI 작업 I/O 작업 (DB, 파일, 네트워크 등) 무거운 연산, 정렬, 파싱 등 //

 

예시

withContext(Dispatchers.IO) {
    // 여기선 백그라운드 I/O 스레드에서 실행됨
    println("파일 읽기 중: ${Thread.currentThread().name}")
}

withContext(Dispatchers.Main) {
    // 여기선 메인(UI) 스레드에서 실행됨
    println("UI 업데이트: ${Thread.currentThread().name}")
}