JetBrains가 개발한 비동기 Kotlin 프레임워크로, 마이크로서비스와 웹 애플리케이션, HTTP API를 구축할 수 있습니다.
Kotlin/kotlinx.coroutines
비동기 코드를 위한 코루틴 빌더, 디스패처, Flow, 채널 및 구조화된 동시성 기본 요소를 제공하는 Kotlin 라이브러리입니다.
- 스타
- 13,823
- 포크
- 1,951
- 열린 이슈
- 348
- 마지막 커밋
- 그저께
어떤 프로젝트인가요?
kotlinx.coroutines는 Kotlin의 suspend 함수에 코루틴 지원을 더해 주는 공식 라이브러리입니다. 취소 가능한 Job 및 Deferred 핸들을 반환하는 launch, async 같은 빌더와 함께 delay, yield, 그리고 작업을 구조화된 계층으로 구성하는 coroutineScope, withTimeout 같은 스코프 빌더를 제공합니다.
핵심 기능 외에도 다양한 연산자를 제공하는 콜드 비동기 스트림 Flow, 통신과 동기화를 위한 Channel, Mutex, Semaphore, 여러 suspend 소스 중 하나를 기다리는 select가 포함됩니다. 디스패처는 백그라운드 작업을 지원하며, 플랫폼별 모듈은 Android, JavaFX, Swing용 Main 디스패처, JVM용 IO 디스패처와 CompletableFuture 통합, Kotlin/JS 및 Wasm용 Promise 지원을 제공합니다.
또한 runTest와 가상 시간 TestScope를 사용해 테스트에서 suspend 코드를 실행하는 kotlinx-coroutines-test, 활성 코루틴을 덤프하는 DebugProbes가 포함된 디버그 모듈, Reactive Streams, RxJava, Project Reactor, Guava, Google Play Services용 리액티브 및 통합 모듈도 제공합니다. 핵심 모듈은 JVM, JS, Native를 대상으로 합니다.
핵심 기능
- 01취소 가능한 Job 및 Deferred 핸들을 반환하는 launch 및 async 빌더입니다.
- 02다양한 연산자를 제공하는 Flow 콜드 스트림입니다.
- 03통신과 동기화를 위한 Channel, Mutex, Semaphore입니다.
- 04백그라운드 및 IO 작업과 Android/Swing/JavaFX 메인 스레드를 위한 디스패처입니다.
- 05runTest와 TestScope를 포함한 테스트 유틸리티와 코루틴을 검사하는 DebugProbes 모듈입니다.
활용 사례
- Kotlin/JVM 서버 또는 데스크톱 애플리케이션에서 비동기 및 동시성 로직을 작성하는 경우입니다.
- 메인 스레드 코루틴 디스패치와 크래시 로깅이 필요한 Android 앱을 만드는 경우입니다.
- Kotlin Multiplatform 타깃 간에 코루틴 기반 비즈니스 로직을 공유하는 경우입니다.
- 가상 시간을 사용해 suspend 함수를 테스트하는 경우입니다.
빠른 시작
- 1
Gradle 빌드에 kotlinx-coroutines-core 의존성을 추가합니다
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.11.0") - 2
repositories에 mavenCentral()이 포함되어 있는지 확인합니다
mavenCentral() - 3
plugins 블록에서 최신 Kotlin 버전을 사용합니다
kotlin("jvm") version "2.2.20"
토픽
자주 묻는 질문
- kotlinx.coroutines은(는) 무엇인가요?
- 비동기 코드를 위한 코루틴 빌더, 디스패처, Flow, 채널 및 구조화된 동시성 기본 요소를 제공하는 Kotlin 라이브러리입니다. kotlinx.coroutines는 Kotlin의 suspend 함수에 코루틴 지원을 더해 주는 공식 라이브러리입니다. 취소 가능한 Job 및 Deferred 핸들을 반환하는 launch, async 같은 빌더와 함께 delay, yield, 그리고 작업을 구조화된 계층으로 구성하는 coroutineScope, withTimeout 같은 스코프 빌더를 제공합니다.
- kotlinx.coroutines은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- kotlinx.coroutines은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- kotlinx.coroutines은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. kotlinx.coroutines의 마지막 커밋은 2026년 10월 23일입니다.
- kotlinx.coroutines은(는) 어디에 사용할 수 있나요?
- Kotlin/JVM 서버 또는 데스크톱 애플리케이션에서 비동기 및 동시성 로직을 작성하는 경우입니다. 메인 스레드 코루틴 디스패치와 크래시 로깅이 필요한 Android 앱을 만드는 경우입니다. Kotlin Multiplatform 타깃 간에 코루틴 기반 비즈니스 로직을 공유하는 경우입니다. 가상 시간을 사용해 suspend 함수를 테스트하는 경우입니다.
- kotlinx.coroutines는 어떻게 설치하나요?
- Gradle 빌드에 kotlinx-coroutines-core 의존성을 추가합니다: implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.11.0") repositories에 mavenCentral()이 포함되어 있는지 확인합니다: mavenCentral() plugins 블록에서 최신 Kotlin 버전을 사용합니다: kotlin("jvm") version "2.2.20"
- kotlinx.coroutines은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/Kotlin/kotlinx.coroutines
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
관찰 가능한 시퀀스로 비동기 및 이벤트 기반 프로그램을 구성하는 Reactive Extensions의 Java VM 구현체입니다.
장시간 실행되는 TCP, UDP, HTTP, WebSocket 서비스를 구축할 수 있도록 이벤트 기반 네트워킹 엔진과 코루틴 런타임을 제공하는 PHP 확장입니다.
Tokio 런타임에서 타입이 지정된 메시지를 주고받는 Rust 액터 프레임워크로, 액터 감독 기능을 지원합니다.
futures, promises, 스레드 풀, agent, atom, 스레드 안전 컬렉션, 동기화 클래스를 비롯한 동시성 프리미티브를 제공하는 Ruby gem입니다.
챕터별로 구성된 Rust 연습문제와 예제, 실행하고 수정할 수 있는 코드와 해답을 제공하는 무료 오픈소스 모음입니다.