IntelliJ IDEA Thread.activeCount() = 2 问题

问题现象:

在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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容