Coroutine Dispatcher

    [Coroutine] 11. Coroutine CoroutineContext를 다루는 방법 : Coroutine Dispatcher과 ExceptionHandler을 CoroutineContext를 이용해 관리하기

    CoroutineContext 앞서 우리는 다음의 내용들을 배웠다. Dispatcher: 코루틴이 실행될 스레드 풀을 잡고 있는 관리자 CoroutineExceptionHandler: 코루틴에서 Exception이 생겼을 때의 처리기 그런데 이 두 가지 요소는 CoroutineContext가 들어가야 할 자리에 그대로 들어갈 수 있다. 에서는 Dispatcher가 CoroutineContext 자리에 들어간다. 에서는 CoroutineExceptionHandler가 CoroutineContext자리에 들어간다. 이것이 가능한 이유는 각각이 CoroutineContext를 확장하는 인터페이스의 구현체이기 때문이다. *CoroutineDispatcher의 내부 살펴보기 더보기 public abstract c..

    [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) } 결과를 ..