Асинхронный Kotlin-фреймворк от JetBrains для создания микросервисов, веб-приложений и HTTP API.
Kotlin/kotlinx.coroutines
Библиотека Kotlin с coroutine builders, диспетчерами, Flow, каналами и примитивами структурированной конкурентности для асинхронного кода.
- Звёзды
- 13,823
- Форки
- 1,951
- Открытые issues
- 348
- Последний коммит
- позавчера
Что это?
kotlinx.coroutines — официальная библиотека Kotlin, которая добавляет поддержку корутин поверх suspend-функций языка. Она предоставляет такие builders, как launch и async, возвращающие отменяемые дескрипторы Job и Deferred, а также delay, yield и builders областей видимости, например coroutineScope и withTimeout, для организации работы в структурированные иерархии.
Помимо основных возможностей, библиотека включает Flow — холодные асинхронные потоки с широким набором операторов, Channel, Mutex и Semaphore для обмена данными и синхронизации, а также select для ожидания нескольких источников с поддержкой приостановки. Диспетчеры предназначены для фоновых задач, а платформенные модули добавляют диспетчер Main для Android, JavaFX и Swing, диспетчер IO и интеграцию с CompletableFuture на JVM, а также поддержку Promise в Kotlin/JS и Wasm.
В проект также входят kotlinx-coroutines-test для запуска приостанавливаемого кода в тестах с помощью runTest и TestScope с виртуальным временем, debug-модуль с DebugProbes для вывода списка активных корутин, а также реактивные и интеграционные модули для Reactive Streams, RxJava, Project Reactor, Guava и Google Play Services. Основные модули предназначены для JVM, JS и Native.
Ключевые возможности
- 01Builders launch и async, возвращающие отменяемые дескрипторы Job и Deferred.
- 02Холодные потоки Flow с обширным набором операторов.
- 03Channel, Mutex и Semaphore для обмена данными и синхронизации.
- 04Диспетчеры для фоновых задач, IO и главных потоков Android/Swing/JavaFX.
- 05Утилиты для тестирования с runTest и TestScope, а также модуль DebugProbes для анализа корутин.
Сценарии использования
- Написание асинхронной и конкурентной логики на Kotlin/JVM для серверных и настольных приложений.
- Разработка Android-приложений, которым нужны диспетчеризация корутин в главном потоке и журналирование сбоев.
- Совместное использование бизнес-логики на основе корутин между целевыми платформами Kotlin Multiplatform.
- Тестирование suspend-функций с виртуальным временем.
Быстрый старт
- 1
Добавьте зависимость kotlinx-coroutines-core в сборку Gradle
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.11.0") - 2
Убедитесь, что в списке репозиториев есть mavenCentral()
mavenCentral() - 3
Используйте последнюю версию Kotlin в блоке plugins
kotlin("jvm") version "2.2.20"
Темы
Частые вопросы
- Что такое kotlinx.coroutines?
- Библиотека Kotlin с coroutine builders, диспетчерами, Flow, каналами и примитивами структурированной конкурентности для асинхронного кода. kotlinx.coroutines — официальная библиотека Kotlin, которая добавляет поддержку корутин поверх suspend-функций языка. Она предоставляет такие builders, как launch и async, возвращающие отменяемые дескрипторы Job и Deferred, а также delay, yield и builders областей видимости, например coroutineScope и withTimeout, для организации работы в структурированные иерархии.
- kotlinx.coroutines можно использовать бесплатно? Какая у него лицензия?
- kotlinx.coroutines распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- kotlinx.coroutines всё ещё поддерживается?
- Активно поддерживается. Последний коммит в kotlinx.coroutines — 23 окт. 2026 г..
- Для чего можно использовать kotlinx.coroutines?
- Написание асинхронной и конкурентной логики на Kotlin/JVM для серверных и настольных приложений. Разработка Android-приложений, которым нужны диспетчеризация корутин в главном потоке и журналирование сбоев. Совместное использование бизнес-логики на основе корутин между целевыми платформами Kotlin Multiplatform. Тестирование suspend-функций с виртуальным временем.
- Как установить kotlinx.coroutines?
- Добавьте зависимость kotlinx-coroutines-core в сборку Gradle: implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.11.0") Убедитесь, что в списке репозиториев есть mavenCentral(): mavenCentral() Используйте последнюю версию Kotlin в блоке plugins: kotlin("jvm") version "2.2.20"
- Где скачать kotlinx.coroutines?
- Исходный код и инструкции по установке — на GitHub: https://github.com/Kotlin/kotlinx.coroutines
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Реализация Reactive Extensions для Java VM, позволяющая компоновать асинхронные программы и программы на основе событий с помощью последовательностей Observable.
PHP-расширение с событийным сетевым движком и средой выполнения корутин для создания постоянно работающих TCP-, UDP-, HTTP- и WebSocket-сервисов.
Акторный фреймворк для Rust: запускает типизированных акторов, обменивающихся сообщениями в рантайме Tokio, и поддерживает супервизию.
Ruby-гем с примитивами конкурентности: futures, promises, пулы потоков, агенты, атомы, потокобезопасные коллекции и средства синхронизации.
Бесплатный набор упражнений и примеров по Rust с открытым исходным кодом: главы, запускаемый и редактируемый код и решения.