有没有什么办法可以获得当前JVM中所有正在运行的Thread的列表(包括我的类未启动的Threads)?
是否也可以在列表中获取所有Thread的Thread和Class对象?
我希望能够通过代码完成此操作.
是否有任何工具可用于跟踪Java线程的创建和生命周期?我会对以下所有内容感兴趣:
我有一个请求,要求在JVM中创建运行线程的分析,以监视长时间运行的作业.有没有办法找到Java线程的开始日期/时间?我没有问题获取线程,但我无法找出任何方法来找出线程已激活多久或何时启动.为了获取线程,我只是简单地枚举ThreadGroup.
请注意,我无法控制实际的线程本身,所以我不能放入任何时间或属性并自己记录开始时间.我只有实际的线程本身,需要从中确定数据.我可以在线程上找到两个方法 - "getThreadCpuTime()"和"getThreadUserTime()"但我不确定这些是否足够,因为显然线程偶尔会调用sleep()方法,我担心"睡眠"时间不包括在这些方法中.
有没有办法确定线程的开始时间?或者两种时间方法中的任何一种都会返回线程活动的时间长度?