Этот репозиторий включает 21 задание по теме асинхронного программирования.
Каждое задание описано в комментариях к классу, в котором его необходимо реализовать. Все задания находятся в каталоге src/main/kotlin/impl.
Вам нужно добиться корректного выполнения всех тестов из каталога src/test/kotlin/impl. Всего в репозитории - 64 теста. Каждый тестовый класс соответствует одному заданию.
Выполнять задания лучше в том порядке, в котором они пронумерованы - это позволит двигаться от самых простых заданий к более сложным.
CoroutinesP01S01
- Параллельные вызовы (launch).CoroutinesP01S02
- Параллельное получение результатов (async).CoroutinesP01S03
- Таймаут корутины.CoroutinesP01S04
- Смена контекста.CoroutinesP01S05
- Диспетчеры корутин.CoroutinesP01S06
- Диспетчеры корутин.
CoroutinesP02S01
- Синхронизация доступа.CoroutinesP02S02
- Синхронизация доступа.CoroutinesP02S03
- Синхронизация доступа.
CoroutinesP03S01
- Получение элементов из канала.CoroutinesP03S02
- Отправка элементов в канал.CoroutinesP03S03
- Параллельный доступ к каналам.
CoroutinesP04S01
- Создание асинхронного потока.CoroutinesP04S02
- Преобразование асинхронных потоков.CoroutinesP04S03
- Объединение потоков.CoroutinesP04S04
- Комбинация потоков.
CoroutinesP05S01
- Выражение Select, объединение каналов.CoroutinesP05S02
- Выражение Select, отправка сообщений в запасной канал.CoroutinesP05S03
- Выражение Select, выбор первых результатов.
CoroutinesP06S01
- Перехват исключений при отмене корутин.CoroutinesP06S02
- Перехват исключений в дочерних корутинах.
- Посмотреть видео по корутинам.
- Склонируйте репозиторий.
- Создайте свою ветку от
main
. - Выполните задания и зазелените тесты.
- За 30 минут до окончания практики в ветке
main
будут опубликованы референсные решения. Можете затянуть их и проверить себя. - [Опционально] Пушните свою ветку в GitHub, если хотите сравнить свою реализацию с реализациями других участников.