유튜브블로그Top 10
내 프로필

데브허브 안내
소개업데이트 소식

데브허브 커뮤니티

Why 99% Are Using Coroutine Dispatchers WRONG!

Philipp Lackner

2025. 4. 30.

0

#mobile app
#backend
  • 코루틴 디스패처 오용은 흔하며, IO 작업 시 withContext(Dispatchers.IO)를 불필요하게 사용하는 경우가 많음. 🤦‍♀️
  • Dispatchers.IODispatchers.Default의 차이는 스레드 풀 크기이며, IO는 네트워크/파일 작업, Default는 CPU 집약적 작업에 적합. 🤹
  • 메인 스레드 안전(Main-safety) 원칙에 따라, blocking 코드를 suspending 함수로 변환하는 함수가 적절한 디스패처로 전환해야 함. 👩‍💻
  • withContext 블록 내부에 blocking 코드가 없다면 디스패처 전환은 불필요하며, suspending 함수만 있다면 잘못된 사용임. 🙅‍♀️
  • UI 업데이트는 메인 스레드에서만 가능하지만, Compose에서는 해당되지 않음. 🎨
  • 복잡한 데이터 매핑과 같이 CPU를 많이 사용하는 작업은 Dispatchers.Default에서 실행하는 것이 효율적임. 🧠
  • Flow 체인 전체를 특정 디스패처에서 실행하여 UI 스레드 차단을 방지할 수 있음. ⛓️

Recommanded Videos