
들어가며요즘은 Retrofit, Room 같은 라이브러리에서 내부적으로 코루틴을 지원하고 있다.함수 앞에 suspend 키워드만 붙이면, 라이브러리가 알아서 처리해주기 때문에 개발자가 따로 신경쓸 필요가 없다. 예를 들어, 메인 디스패처에서 네트워크 요청을 보내는 함수를 호출하더라도, 메인 스레드가 블로킹되지 않는다.이는 라이브러리 내부에서 적절한 디스패처로 전환해 백그라운드 스레드에서 동작하기 때문이다. 그래서 직접 저수준의 코드를 구현하는 게 아니라면, 평소에 자주 접하게 되는 코루틴 API는 suspend, viewModelScope, Dispatchers 정도에 그친다고 생각한다. 그런데 최근 이미지 라이브러리를 만들다가 예상치 못한 오류를 만났고, 이를 해결하는 과정에서 suspendCancel..
kotlin/coroutines
2025. 8. 13. 00:01