마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

코루틴 디스패처 명시관해서

0 추천

코루틴 디스패처가 어떤 스레드에서 동작시킬건지 명시? 해준다는 거로 알고있는데요

저는 항상 디스패처를 써주지않고 이런식으로 써주는데, 명시를 해줘야 하는걸까요?

명시를 안해도 알아서 잡아주는?그런 시스템이 아닌가해서 질문드립니다

lifecycleScope.launch {
   // 실행코드
}
수원통학러 (3,590 포인트) 님이 2022년 12월 13일 질문

1개의 답변

0 추천
해당 함수의 구현코드를 확인해 보시면 Dispatcher.Main.Immediate 가 디폴트 값입니다. 즉 아무 것도 명시하지 않으면 Main thread에서 동작을 합니다
spark (228,990 포인트) 님이 2022년 12월 13일 답변
네트워킹이나 db 작업하는 경우 디스패처를 io를 사용한다로 알고있는데요
이경우에도 저는 디스패치 명시 없이 작업을 했었는데도, 죽거나 문제된 경우가 없는데 이건 무엇인가요? 뷰모델스코프던, 라이프사이클스코프던 둘다 그렇더라구요
그건 사용 중인 라이브러리들이 내부적으로 io쓰레드로 전환을 해서 처리하도록 하고 있기 때문일겁니다. Retrofit,  Room같은 라이브러리는 그렇게 처리합니다.
...