Java 中的守护进程线程数
Daemon Thread Count in Java
有没有办法获取 java 中活动守护线程 运行 的数量?
我用过,Thread.getAllStackTraces().keySet().size()
但是没有给出正确的结果。
This question 参考了守护线程的计数,但它没有任何相同的代码。
有人能帮我解决这个问题吗?或者任何关于这个的参考资料也会有很大帮助。
提前致谢!
您可以像这样编写自定义实现
int daemonThreadCount = 0;
for (Thread thread : Thread.getAllStackTraces().keySet()) {
if (thread.isDaemon()) {
daemonThreadCount++;
}
}
我想你可以使用 ThreadMXBean#getDaemonThreadCount()
API 其中 returns 当前活动守护进程线程数。
ManagementFactory.getThreadMXBean().getDaemonThreadCount();
更多信息请关注link。
您可以通过 Thread.getAllStackTraces
完成:
public static void main(String[] args) {
Set<Thread> threads = Thread.getAllStackTraces().keySet();
threads.forEach(t -> {
System.out.println(t.getName()+ " : " + t.isDaemon()); // count if isDaemon is true
});
}
O/P :
Signal Dispatcher : true
main : false
Finalizer : true
Reference Handler : true
有没有办法获取 java 中活动守护线程 运行 的数量?
我用过,Thread.getAllStackTraces().keySet().size()
但是没有给出正确的结果。
This question 参考了守护线程的计数,但它没有任何相同的代码。
有人能帮我解决这个问题吗?或者任何关于这个的参考资料也会有很大帮助。
提前致谢!
您可以像这样编写自定义实现
int daemonThreadCount = 0;
for (Thread thread : Thread.getAllStackTraces().keySet()) {
if (thread.isDaemon()) {
daemonThreadCount++;
}
}
我想你可以使用 ThreadMXBean#getDaemonThreadCount()
API 其中 returns 当前活动守护进程线程数。
ManagementFactory.getThreadMXBean().getDaemonThreadCount();
更多信息请关注link。
您可以通过 Thread.getAllStackTraces
完成:
public static void main(String[] args) {
Set<Thread> threads = Thread.getAllStackTraces().keySet();
threads.forEach(t -> {
System.out.println(t.getName()+ " : " + t.isDaemon()); // count if isDaemon is true
});
}
O/P :
Signal Dispatcher : true
main : false
Finalizer : true
Reference Handler : true