Руководство по корутинам
Kotlin, как язык, предоставляет только минимальные низкоуровневые API в своей стандартной библиотеке, чтобы позволить
другим библиотекам использовать корутины. В отличие от многих других языков с аналогичными возможностями, async
и
await
не являются ключевыми словами в Kotlin и даже не входят в его стандартную библиотеку. Более того, концепция
suspend
функций Kotlin обеспечивает более безопасную и менее подверженную ошибкам абстракцию для асинхронных операций,
чем Future и Promise.
kotlinx.coroutines
— это богатая библиотека для корутин, разработанная JetBrains. Она содержит ряд высокоуровневых
примитивов с поддержкой корутин, которые рассматриваются в этом руководстве, включая launch
, async
и другие.
Это руководство по основным функциям kotlinx.coroutines
с серией примеров, разделенных на разные темы.
Чтобы использовать корутины, а также следовать примерам из этого руководства, вам необходимо добавить зависимость от модуля kotlinx-coroutines-core
, как описано в README проекта.
Содержание
- Основы корутин
- Туториал: Корутины и каналы
- Отмена корутин и тайм-ауты
- Создание suspending-функций
- Контекст корутин и диспатчеры
- Асинхронный Flow
- Каналы
- Обработка исключений в корутинах
- Общее изменяемое состояние и параллелизм
- Select-выражение (экспериментальное)
- Туториал: Дебаггинг корутин с использованием IntelliJ IDEA
- Туториал: Дебаггинг Flow с использованием IntelliJ IDEA