Задачи на корутины в Kotlin. Часть 4
Проверьте, активна ли корутина через isActive, и завершите цикл при отмене.
Используйте ensureActive() внутри длительного цикла для корректной отмены.
Создайте Job, запустите дочернюю корутину и отмените родительский Job.
Сделайте функцию, которая в цикле выводит числа и проверяет coroutineContext.isActive.
Отмените корутину через cancelAndJoin() и дождитесь её завершения.
Обработайте CancellationException при отмене корутины.
Создайте корутину с NonCancellable контекстом для завершения критической операции при отмене.
Используйте yield() для передачи управления другим корутинам.
Сделайте таймер на корутине, который можно остановить через Job.cancel().
Создайте несколько дочерних Job и отмените только одну из них.