Coroutine/코틀린 코루틴
5장 코루틴 언어차원에서의 지원 vs 라이브러리
hik14
2025. 12. 22. 00:18
코틀린 언어에서 자체적으로 지원하는 부분(컴파일러의 지원과 코틀린 기본 라이브러리의 요소)과 코틀린 라이브러리(kotlinx.coroutines)으로 구성되어 있다.
| 언어 차원에서의 지원 | kotlinx.coroutines 라이브러리 |
| 컴파일러가 지원하며 코틀린 기본 라이브러리에 포함되어 있다. | 의존성을 별도로 추가해야 한다. |
| kotlin.coroutines 패키지에 포함되어 있다. | kotlinx.coroutines 패키지에 포함되어 있다. |
| Continuation, suspendCoroutines과 같은 몇몇 기본적인 것들과 suspend 키워드를 최소한으로 제공한다. | launch, async, Deferred 처럼 다양한 기능을 제공한다. |
| 직접 사용하기 아주 어렵다. | 직접 사용하기에 편리하게 설계되어 있다. |
| 거의 모든 동시성 스타일을 허용한다. | 단 하나의 명확한 동시성 스타일을 위해 설계되어 있다. |
단 하나의 명확한 동시성 스타일을 위해 설계되어 있다.
=> '구조화된 동시성(Structured Concurrency)