Junior — Middle
Qual é a funcionalidade principal e o propósito do SupervisorScope no sistema?
sobes.tech IA
Resposta da IA
SupervisorScope é um CoroutineScope especial no Kotlin Coroutines, usado para gerir um grupo de coroutines.
Funcionalidade principal:
- Permite lançar várias coroutines filhas, e a falha de uma delas não cancela as outras.
- Ao contrário de um CoroutineScope normal, onde um erro numa coroutine filha cancela todas, SupervisorScope isola os erros.
Propósito:
- Usado quando se deseja lançar várias tarefas independentes em paralelo e tratar os seus erros separadamente.
Exemplo:
val supervisor = CoroutineScope(SupervisorJob() + Dispatchers.Default)
supervisor.launch {
// coroutine 1
}
supervisor.launch {
// coroutine 2
throw Exception("Erro") // não cancela a coroutine 1
}