Sobes.tech
Junior — Middle

Koliki je podrazumevani broj niti koje kreira Dispatchers.Default u Kotlin korutinama?

sobes.tech АИ

Одговор од АИ

Po podrazumevanom, Dispatchers.Default u Kotlin Coroutines kreira pool niti čija je veličina jednaka broju dostupnih procesorskih jezgara, ali ne manje od 2.

To znači da, ako uređaj ima 4 jezgra, pool će imati 4 niti; ako ima 1 jezgro — minimum 2 niti.

Ovo je urađeno radi optimalnog korišćenja CPU resursa pri izvršavanju paralelnih zadataka, izbegavajući kreiranje prevelikog broja niti koji bi mogao da smanji performanse zbog prebacivanja konteksta.

Primer:

println(Runtime.getRuntime().availableProcessors()) // broj jezgara
println(Dispatchers.Default.toString())

Na ovaj način, Dispatchers.Default se prilagođava hardverskim mogućnostima uređaja.