코틀린
코루틴 컨텍스트 전환
ddayunee
2021. 11. 24. 07:30
반응형
초기 Cntinuation은 DispatchedContinuation으로 감싸여 있다. 여전히 Continuation이지만 Unconfined를 제외한 경우에, 필요에 따라 CorotineDispatcher로 전달할 수 있다. DispatchedTask를 전송한다. DispatchedTask는 Runnable로, withCoroutineContext()를 사용하여 적절한 컨텍스트를 설정하고, DispatchedContinuation으로부터 resume()와 resumeWithException() 함수를 호출한다.
따라서 실제 스레드 변경 작업은 CoroutineDispatcher에서 일어나지만, 실행 전에 연속체를 가로챌 수 있는 전체 파이프라인 덕분에 가능한 것이다.
서적 : 코틀린 동시성 프로그래밍
반응형