Junior — Middle
Асинхрондук колдонмолордо корутиндерди кантип токтотуп жана токтотуп коюу керек?
sobes.tech AI
AIден жооп
Kotlin-də, korutinlər Job və CoroutineScope obyektləri vasitəsilə idarə olunur. Korutinləri dayandırmaq və dayandırmaq üçün aşağıdakı mexanizmlər istifadə olunur:
-
Dayandırma — korutinlər
suspendaçar sözü və funksiyalar vasitəsilə dayandırıla bilər (məsələn,delay()). Bu, iş parçasını bloklamır, lakin korutina daha sonra davam edir. -
İmtina (dayandırma) — korutinlər
Job-larınıncancel()metodunu çağırmaqla imtina edilə bilər. İmtina zamanı, korutinaCancellationExceptionistisnası alır və düzgün şəkildə tamamlanmalıdır.
Korutini imtina etməyin nümunəsi:
val job = CoroutineScope(Dispatchers.Default).launch {
repeat(1000) { i ->
println("İşləyirəm $i ...")
delay(500)
}
}
// Korutini 2 saniyə sonra dayandır
CoroutineScope(Dispatchers.Default).launch {
delay(2000)
job.cancel()
println("Korutina imtina edildi")
}
Beləliklə, dayandırma korutinlərin təbii bir hissəsidir və dayandırma, Job vasitəsilə onların imtinasıdır.