티스토리 뷰
728x90
- 코틀린 언어에서 자체적으로 지원하는 부분(컴파일러의 지원과 코틀린 기본 라이브러리의 요소)
- 코틀린 코루틴 라이브러리(kotlinx.coroutines)
코루틴은 두 가지로 구성되어 있다.
코틀린 언어 차원에서는 자유도를 보장하기 위해 코루틴을 최소한으로 지원하고 있다.
다른 프로그래밍 언어에서 동시성을 구현한 스타일을 이식 하기 위해 사용할 수 있지만, 직접 다루기 쉽지는 않다.
그 예로 suspendCoroutine()이나 Continuation 등이 있다.
애플리케이션 개발자들보다는 라이브러리 개발자들에게 적합하다.
언어 차원에서 지원하는 것과 별개로 kotlinx.coroutines 라이브러리가 있다.
이 라이브러리를 사용하려면 프로젝트에 별도로 의존성을 추가해야 한다.
라이브러리는 코틀린 언어 차원에서 코루틴을 지원하기 위해 만들어졌다.
사용하기 훨씬 쉬우며 동시성을 명확하게 구현할 수 있다.
언어 차원에서의 지원 | kotlinx.coroutines 라이브러리 |
컴파일러가 지원하며 코틀린 기본 라이브러리에 포함되어 있다. | 의존성을 별도로 추가해야 한다. |
kotlin.coroutines 패키지에 포함되어 있다. | kotlinx.coroutines 패키지에 포함되어 있다. |
Continuation 또는 suspendCoroutines과 같은 몇몇 기본적인 것돌과 suspend 키워드를 최소한으로 제공한다. | launch, async, Deferred처럼 다양한 기능을 제공 한다. |
직접 사용하기 아주 어렵다. |
직접 사용하기 편리하게 설계되어 있다. |
거의 모든 동시성 스타일이 허용된다. | 단 하나의 명확한 동시성 스타일을 위헤 설계되어 있다. |
728x90
'app > kotlin' 카테고리의 다른 글
2.2 코틀린 코루틴 라이브러리 - 코루틴 컨텍스트 (0) | 2025.01.11 |
---|---|
2.1 코틀린 코루틴 라이브러리 - 코루틴 빌더 (0) | 2025.01.11 |
1.4 코틀린 코루틴 이해하기 - 코루틴의 실제 구현 (0) | 2025.01.10 |
1.3 코틀린 코루틴 이해하기 - 중단은 어떻게 작동할까? (0) | 2025.01.09 |
1.2 코틀린 코루틴 이해하기 - 시퀀스 빌더 (0) | 2025.01.09 |