디스패처

반응형

    [Coroutine] 4. Dispatcher과 launch, async를 이용해 Coroutine 붙이기

    앞선 글까지 Dispatcher을 만드는 과정을 거쳤다. 이제부터 본격적으로 Coroutine을 만들기 시작할 것이다. Dispatcher에 Coroutine 붙이기 Dispatcher에 Coroutine을 붙이는 작업은 launch{ }와 aync{ } 두가지 메서드를 통해 가능하다.결과 반환이 없는 단순 작업에는 launch를 결과 반환이 필요한 작업에는 async를 사용한다. 결과 반환 반환타입 launch X Job async O Defered 결과를 반환하지 않는 launch launch는 결과를 반환하지 않고 launch 수행 시 job이 반환된다. with(CoroutineScope(Dispatchers.Main)) { val job: Job = launch { println(1) } } 결..

    [Coroutine] 3. Coroutine의 Dispatcher 란 무엇인가?

    Coroutine을 공부하면서 Dispatcher에 대해 상세히 설명된 글이 없어서 이 글을 작성하게 되었다. 많은 사람들에게 도움이 되길 바란다. Dispatcher 코루틴을 시작하게 되면, Dispatcher란 단어를 가장 먼저 접하게 된다. Dispatch란 한국어로 '보내다' 라는 뜻이다. 그렇다면 Dispatcher란 무엇을 보내는 것일까? 바로 스레드(Thread)에 코루틴(Coroutine)을 보낸다. 코루틴에서는 스레드 풀을 만들고 Dispatcher를 통해서 코루틴을 배분한다. 즉, 코루틴을 만든 다음 해당 코루틴을 Dispatcher에 전송하면 Dispatcher은 자신이 관리하는 스레드풀 내의 스레드의 부하 상황에 맞춰 코루틴을 배분한다. 이를 시각적으로 표현하면 다음과 같다. 1. ..

반응형