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