IntelliJ IDEA Thread.activeCount

2018-06-14  本文已影响0人  leaJ

问题现象:

在IntelliJ IDEA执行简单的main方法,调用Thread.activeCount()方法输出的数量为2,而非预期的1(main方法本身).

而直接适用java命令行执行或者eclipse执行却没有这个问题。

问题分析:

用如下方法打印当前线程组中的线程:

Thread.currentThread().getThreadGroup().list();

结果如下:

java.lang.ThreadGroup[name=main,maxpri=10]

    Thread[main,5,main]

    Thread[Monitor Ctrl-Break,5,main]

可以看到除了main以外,还多了一个预期外的 Monitor Ctrl-Break 线程。

问题原因:

IntelliJ IDEA执行用户代码的时候,实际是通过反射方式去调用,而与此同时会创建一个Monitor Ctrl-Break 用于监控目的。

参考资料:

1.https://www.zhihu.com/question/59297272/answer/164676726

上一篇 下一篇

猜你喜欢

热点阅读