当前位置: 首页 > 面试题库 >

获取当前正在Java中运行的所有线程的列表

曹华荣
2023-03-14
问题内容

有什么方法可以获取当前JVM中所有正在运行的线程的列表(包括不是由我的类启动的线程)?

是否还可以获取列表中所有线程的ThreadClass对象?

我希望能够通过代码做到这一点。


问题答案:

要获得一个可迭代的集合:

Set<Thread> threadSet = Thread.getAllStackTraces().keySet();


 类似资料:
  • 我使用(全局声明)同时运行多线程。需要一个小时才能完成任务。因此,我需要获得当前运行的线程详细信息,如活动线程,排队线程和完成线程。 但事情是我需要停止在15分钟内发送新的请求到服务器或调用一些方法。 这里shutdown或shutdowNow停止执行器,但不停止这5个线程。这就是问题所在。所以我需要手动杀死那些线程。如何杀死executor服务中手动附加的线程?

  • 问题内容: 如何获取Go中当前正在运行的进程的列表? 该OS软件包提供了一些功能:http : //golang.org/pkg/os/, 但没有提供任何内容来查看正在运行的进程的列表。 问题答案: 标准库中没有这样的功能,很可能永远不会。 在大多数情况下,程序不需要进程列表。Go程序通常希望等待一个或更少数量的进程,而不是所有进程。进程的PID通常通过除搜索所有进程的列表之外的其他方式获得。 如

  • 问题内容: 我有一个多线程的Java项目,我想添加一个方法stop()来停止所有正在运行的线程。问题在于该项目是由其他人开发的,而我不熟悉它如何实现多个线程。 我知道的是,一旦项目开始,就会调用许多线程,并且它们将永远运行。有没有办法找到所有正在运行的线程并停止它们?我进行了很多搜索,找到了如何获取正在运行的线程的列表: 接下来要停止所有正在运行的线程该怎么办? 我想停止这些线程的原因是,我需要将

  • 我之所以要停止这些线程,是因为我需要将这个项目作为一个捆绑包部署到OSGi容器中。一旦包启动,多个线程将永远运行。因此,我需要实现一个destroy()方法来停止所有线程,以控制包的生命周期。 怎么样

  • 问题内容: 我正在寻找一种方法来查看当前正在运行的线程数 首先通过Windows 以编程方式 问题答案: 这将为您提供VM中的线程总数: 现在,如果您希望当前正在执行所有线程,则可以执行以下操作: 这里列举了可能的状态:Thread.State javadoc 如果要查看不是通过编程方式而是通过Windows工具运行的线程,可以使用Process Explorer 。

  • 本文向大家介绍C#列出当前系统所有正在运行程序的方法,包括了C#列出当前系统所有正在运行程序的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#列出当前系统所有正在运行程序的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的C#程序设计有所帮助。