Dispatchers.Main

    [Coroutine] 4. launch, async 사용해 CoroutineDispatcher에 코루틴 실행 요청하기

    앞서 CoroutineDispatcher을 만드는 방법을 알아봤다. 이번에는 코루틴을 만들어 CoroutineDispatcher에 실행 요청하는 방법을 알아보자. CoroutineDispatcher에 코루틴 실행 요청하기 CoroutineDispatcher에 코루틴을 실행 요청하는 작업은 대표적으로 launch와 aync 두 가지 메서드를 통해 가능하다. 결과 반환이 없는 단순 작업에는 launch를 결과 반환이 필요한 작업에는 async를 사용한다. 결과 반환 반환타입 launch X Job async O Defered 결과를 반환하지 않는 launch launch는 결과를 반환하지 않고 launch 수행 시 job이 반환된다. val job: Job = launch { println(1) } 결과를 ..

    [Coroutine] 3. CoroutineDispatcher 란 무엇인가?

    Coroutine을 공부하면서 CoroutineDispatcher에 대해 상세히 설명된 글이 없어서 이 글을 작성하게 되었다. 많은 사람들에게 도움이 되길 바란다. CoroutineDispatcher 란 무엇인가? 코루틴을 시작하게 되면, CoroutineDispatcher란 단어를 가장 먼저 접하게 된다. CoroutineDispatcher은 Coroutine과 Dispatcher 단어의 합성어이다. 여기서 Coroutine은 코루틴이며, Dispatch란 한국어로 '보내다' 라는 뜻이다. 즉, CoroutineDispatcher은 코루틴을 보내는 객체를 뜻한다. 그렇다면 CoroutineDispatcher은 코루틴을 어디로 보낼까? 바로 스레드(Thread)로 보낸다. 모든 작업은 스레드 위에서 실행..