Junior — Middle
Quantos threads são usados por padrão no Dispatchers.Unconfined ao trabalhar com corrotinas?
sobes.tech IA
Resposta da IA
Dispatchers.Unconfined no Kotlin Coroutines não usa um número fixo de threads por padrão.
Ele inicia a coroutine no thread atual até à primeira suspensão, e após a reativação, continua a execução no thread disponível no momento da reativação. Ou seja, não está limitado a um pool específico de threads.
Isto significa que o número de threads depende do contexto em que a coroutine é reativada e pode variar.
Exemplo:
launch(Dispatchers.Unconfined) {
println("A correr no thread: ${Thread.currentThread().name}")
delay(1000)
println("Recomeçado no thread: ${Thread.currentThread().name}")
}
A saída pode mostrar diferentes threads antes e depois da suspensão.