Kotlin Coroutine의 동작 원리
이번 글은 Kotlin Coroutine의 디자인을 제안한 Kotlin Proposals - Coroutines를 참고하여 coroutine의 동작 원리에 대해 다루어 보도록 하겠습니다. Coroutine 원문에서는 coroutine을 한 문장으로 an instance of suspendable computation이라고 설명하고 있습니다. 이처럼, coroutine의 가장 핵심적인 특징은 중단 가능하다는 것입니다. 그렇다면, 중단 가능하다는 것은 정확히 어떤 의미일까요? Suspension 원문에 따르면, 중단 가능하다는 것은 다른 coroutine의 코드를 실행할 수 있도록 coroutine이 현재 thread에서 코드 실행을 잠시 중단하고 thread를 양보할 수 있다는 것을 의미합니다. 뿐만 아니라, 중단된 coroutine이 다른 thread에서 다시 재개될 수 있음을 뜻합니다. ...