Repolode
Kotlin

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. 1

    Добавьте зависимость kotlinx-coroutines-core в сборку Gradle

    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.11.0")
  2. 2

    Убедитесь, что в списке репозиториев есть mavenCentral()

    mavenCentral()
  3. 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 обновляется ежедневно.

Похожие проекты