Sobes.tech
Junior — Middle

Koľko vlákien sa používa predvolene v Dispatchers.Unconfined pri práci s korutínami?

sobes.tech AI

Odpoveď od AI

Dispatchers.Unconfined v Kotlin Coroutines ne využíva predvolený pevný počet vlákien.

Spúšťa korutínu v aktuálnom vlákne až do prvého pozastavenia, a po obnovení pokračuje vo vykonávaní vo vlákne, ktoré je dostupné v danom okamihu. To znamená, že nie je obmedzený na konkrétnu skupinu vlákien.

To znamená, že počet vlákien závisí od kontextu, v ktorom je korutína obnovená, a môže sa líšiť.

Príklad:

launch(Dispatchers.Unconfined) {
    println("Beží vo vlákne: ${Thread.currentThread().name}")
    delay(1000)
    println("Obnovené vo vlákne: ${Thread.currentThread().name}")
}

Výstup môže ukázať rôzne vlákna pred a po pozastavení.