KOTLIN_LIB Telegram 625
Разница между 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



tgoop.com/kotlin_lib/625
Create:
Last Update:

Разница между 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

BY Kotlin




Share with your friend now:
tgoop.com/kotlin_lib/625

View MORE
Open in Telegram


Telegram News

Date: |

The best encrypted messaging apps fire bomb molotov November 18 Dylan Hollingsworth yau ma tei 1What is Telegram Channels? Choose quality over quantity. Remember that one high-quality post is better than five short publications of questionable value. As five out of seven counts were serious, Hui sentenced Ng to six years and six months in jail.
from us


Telegram Kotlin
FROM American