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]

问题原因:

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

原文地址:https://www.cnblogs.com/penghq/p/13924886.html