TGViewer
Kotlin Kotlin @kotlin_lib · 2.05K subscribers
Post #625 754
Разница между job.cancel() и scope.cancel() в Kotlin Coroutines

В Kotlin-корутинах часто путают отмену конкретного Job и всей области видимости (Scope). Разберёмся.

Что такое Job и Scope?

- Job - отдельная корутина, возвращается при launch или async.
- CoroutineScope - контейнер для корутин. В нём есть общий Job, управляющий жизненным циклом всех корутин внутри.

job.cancel()

Отменяет только одну корутину.


val scope = CoroutineScope(Dispatchers.Default)

val jobA = scope.launch { delay(5000) }
val jobB = scope.launch { delay(10000) }

jobA.cancel() // Отменится только jobA, jobB продолжит работу


Scope остаётся активным и можно запускать новые задачи.

scope.cancel()

Отменяет все корутины в области видимости и сам scope.


scope.cancel() // Все корутины в scope будут остановлены


После этого новые корутины запустить уже нельзя.

https://medium.com/proandroiddev/kotlin-coroutines-the-real-difference-between-job-cancel-and-scope-cancel-05e1d9dd5245

✍️ @kotlin_lib
  • 👍 5
More from @kotlin_lib
  1. Aug 26, 2026🚧 Ваш Mutex тормозит корутины. Как перестать лочить и начать жить Вы пишете многопоточный…
  2. Jul 25, 2026🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.r…
  3. Jul 1, 2026🌪 Ваша дата в опасности: flatMapConcat vs Merge vs Latest Вам нужно взять поток ID-шников…
  4. Jun 24, 2026🤖 Android-приложение — это не только красивый экран. За ним стоят работа с внешним API, з…
  5. Jun 23, 2026🔮 Убийца бойлерплейта: Встречайте Context Parameters (Kotlin 2.x) Мы так привыкли к Depen…
  6. Jun 3, 2026Яндекс обновил Yandex Mobile Ads SDK для монетизации мобильных приложений — и это интересн…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →