Junior — Middle
Կարող եք բացատրել, թե ինչ է SupervisorScope-ը և ինչպես օգտագործել այն ծրագրերում?
sobes.tech AI
Պատասխան AI-ից
SupervisorScope — դա Kotlin-ում հատուկ coroutine շրջանակ է, որը օգտագործվում է coroutine խմբի կառավարում համար, որտեղ մեկ coroutine-ի ձախողումը չի հանգեցնում մյուսների չեղարկման:
Նորմալ CoroutineScope-ում, եթե մեկը ձախողվում է, բոլոր երեխաներ coroutine-ները չեղարկվում են: SupervisorScope-ում, coroutine-ները աշխատում են անկախ՝ եթե մեկը ձախողվում է, մյուսները շարունակվում են:
Օգտագործման օրինակ:
import kotlinx.coroutines.*
fun main() = runBlocking {
supervisorScope {
val child1 = launch {
println("Երեխա 1 սկսվում է")
delay(100)
throw Exception("Երեխա 1-ում սխալ")
}
val child2 = launch {
println("Երեխա 2 սկսվում է")
delay(200)
println("Երեխա 2 ավարտված")
}
child1.join()
child2.join()
}
}
Այս օրինակով, child1-ում սխալը չի կասեցնի child2-ին։ Սա օգտակար է, երբ ուզում եք, որ մեկ գործի ձախողումը չխանգարի մյուսների կատարմանը։