Как я мог узнать, какое количество потоков использует конкретный диспетчер сопрограмм?

1

Как я могу узнать, сколько потоков использует Dispatchers.IO в настоящее время?

Теги:
kotlin
kotlin-coroutines

2 ответа

0

Как вы можете прочитать здесь, Dispatchers.IO не имеет собственного пула потоков, он использует общий пул. Dispatchers.Default использует тот же пул потоков. Нет простого способа получить активные потоки, используемые в настоящее время Dispatchers.IO. Но вы можете попробовать получить количество потоков внутри общего пула потоков. Общий пул потоков CommonPool.kt внутри CommonPool.kt. Он может создать собственный пул или использовать ForkJoinPool. Все потоки, созданные в пуле, имеют определенное имя. Таким образом, вы можете найти все активные потоки общего пула по имени.

val threads = Thread.getAllStackTraces().keys.filter {
    it.name.startsWith("CommonPool") || it.name.startsWith("ForkJoinPool")
}
threads.size
0

Вы можете использовать Android Profiler для мониторинга потоков.

Инструменты Android Monitor были заменены на Android Profiler в Android Studio 3.0:

Android Profiler - Android Studio 3.0 включает в себя новый набор инструментов для устранения проблем с производительностью в вашем приложении. Мы полностью переписали предыдущий набор инструментов Android Monitor и заменили их на Android Profiler. После развертывания приложения на работающем устройстве или эмуляторе щелкните вкладку Android Profiler, и теперь у вас будет доступ к унифицированному представлению о процессоре, памяти и сети для вашего приложения в режиме реального времени....

Для мониторинга потоков используйте CPU Profiler в Android Profiler.

  1. Нажмите " Вид"> "Инструменты Windows"> "Android Profiler" (вы также можете нажать " Android Profiler" на панели инструментов).
  2. Выберите устройство и процесс приложения, которые вы хотите профилировать на панели инструментов Android Profiler. Если вы подключили устройство через USB, но не видите его в списке, убедитесь, что вы включили отладку по USB.
  3. Щелкните в любом месте на временной шкале ЦП, чтобы открыть Профилировщик ЦП.

От: qaru.site/questions/5964643/...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню