Java 提供了一种内置机制来列出 Java 虚拟机 (JVM) 中的所有活动线程。这包括当前类创建的线程和外部进程启动的线程。
要检索所有正在运行的线程的可迭代集,请使用以下代码:
Set<Thread> threadSet = Thread.getAllStackTraces().keySet();
这种方法提供了轻量级的性能开销,通常对于合理数量的线程消耗的时间可以忽略不计(例如,在 Windows 10 上运行的 Azul JVM 16.0.1 环境中,12 个线程需要 0 毫秒)。
此外,还可以提取与列表中的每个线程:
for (Thread thread : threadSet) { String threadName = thread.getName(); Class<?> threadClass = thread.getClass(); }
这允许您检查线程属性和类信息,例如线程的名称和创建它的 Java 类。
以上是如何以编程方式列出 Java 程序中所有正在运行的线程?的详细内容。更多信息请关注PHP中文网其他相关文章!