코틀린 코루틴 (5장 정리)

윤성현·2024년 12월 14일

코틀린 코루틴

목록 보기
5/11
post-thumbnail

5장. 코루틴: 언어 차원에서의 지원 vs 라이브러리

코루틴은 아래 두 가지로 구성되어 있으며, 둘은 완전히 다름

  • 코틀린 언어 자체적으로 지원하는 부분 (컴파일러의 지원, 코틀린 기본 라이브러리 요소 등)
  • 코틀린 코루틴 라이브러리 (kotlinx.coroutines)

코틀린 언어 차원

  • 자유도를 보장하기 위해 코루틴을 최소한으로 지원
  • suspendCoroutine , Continuation

라이브러리 차원

  • 별도로 의존성을 추가해야 함
  • 사용하기 훨씬 쉽고, 동시성을 명확하게 구현할 수 있게 함

비교표

언어차원에서의 지원kotlinx.coroutines 라이브러리
컴파일러가 지원하며 코틀린 기본 라이브러리에 포함의존성을 별도로 추가해야 함
kotlinx.coroutines 패키지에 포함됨kotlinx.coroutines 패키지에 포함됨
Continuation 또는 suspendCoroutines와 같은 몇몇 기본적인 것들과 suspend 키워드를 최소한으로 제공launch, async, Deferred처럼 다양한 기능을 제공
직접 사용하기 아주 어려움직접 사용하기 편리하게 설계됨
거의 모든 동시성 스타일이 허용됨단 하나의 명확한 동시성 스타일을 위해 설계되어 있음

0개의 댓글