Как вы можете прочитать здесь Dispatchers.IO
не имеет собственного пула потоков, он использует общий пул.Dispatchers.Default
использует тот же пул потоков.Нет простого способа получить активные потоки, используемые в настоящее время Dispatchers.IO
.Но вы можете попробовать получить количество потоков внутри общего пула потоков.Общий пул потоков создается внутри CommonPool.kt
.Он может создать собственный пул или использовать ForkJoinPool .Все потоки, созданные в пуле, имеют определенное имя.Таким образом, вы можете найти все активные потоки общего пула по имени.
val threads = Thread.getAllStackTraces().keys.filter {
it.name.startsWith("CommonPool") || it.name.startsWith("ForkJoinPool")
}
threads.size