코루틴 가이드(Coroutines guide)
코루틴 가이드(Coroutines guide)
Kotlin의 표준 라이브러리는 다른 라이브러리들이 코루틴을 활용할 수 있도록 아주 최소한의 저수준 API만 제공해요. 비슷한 능력을 가진 많은 다른 언어와 달리, async와 await는 Kotlin에서 키워드가 아니고 표준 라이브러리의 일부도 아닙니다. 게다가 Kotlin의 일시 중단 함수(suspending function) 개념은 future와 promise보다 비동기 작업에 대해 더 안전하고 오류가 덜 나는 추상화를 제공하죠.
kotlinx.coroutines는 JetBrains가 개발한 풍부한 코루틴 라이브러리예요. 이 가이드가 다루는 launch, async 등을 포함한 여러 고수준 코루틴 지원 기본 요소를 담고 있습니다.
이 가이드는 kotlinx.coroutines의 핵심 기능을 주제별로 나눈 일련의 예시와 함께 소개해요. 코루틴을 사용하고 이 가이드의 예시를 따라 하려면, 프로젝트 README에 설명된 대로 kotlinx-coroutines-core 모듈에 의존성을 추가해야 합니다.
출처: Kotlin 공식 문서
본문
목차
- 코루틴 기초(Coroutines basics)
- 취소와 타임아웃(Cancellation and timeouts)
- 플로우(Flows)
- 튜토리얼: 코루틴과 채널 입문(Intro to coroutines and channels)
- 일시 중단 함수 합성하기(Composing suspending functions)
- 코루틴 컨텍스트와 디스패처(Coroutine context and dispatchers)
- 채널(Channels)
- 코루틴 예외 처리(Coroutine exceptions handling)
- 공유 가변 상태와 동시성(Shared mutable state and concurrency)
- Select 표현식(Select expression, 실험적)
- 튜토리얼: IntelliJ IDEA로 코루틴 디버깅(Debug coroutines using IntelliJ IDEA)
- 튜토리얼: IntelliJ IDEA로 Kotlin Flow 디버깅(Debug Kotlin Flow using IntelliJ IDEA)
추가 참조(Additional references)
- 코루틴을 사용한 UI 프로그래밍 가이드 —
Guide to UI programming with coroutines - 코루틴 디자인 문서 —
Coroutines design document (KEEP) - 전체 kotlinx.coroutines API 참조 —
Full kotlinx.coroutines API reference - Android에서의 코루틴 모범 사례 —
Best practices for coroutines in Android - Kotlin 코루틴과 플로우의 Android용 추가 자료 —
Additional Android resources for Kotlin coroutines and flow
더 알아보기
- 코루틴 기초(Coroutines basics) — 코루틴 시작점
- 플로우(Flows) — 비동기 데이터 스트림
- 채널(Channels) — 코루틴 간 데이터 전달