idea 默认全局线程数是2 为什么?

图片描述

但是在debug模式下就正常 请问如何解决?

列出了线程 多出了个这个东西图片描述

阅读 3.9k
2 个回答

通过 Thread.currentThread().getThreadGroup().list() 可以列出当前线程所在组有哪些线程,线程的输出格式为 [线程名称,线程的优先级,线程所在线程组的名称]:

public class Main {

    public static void main(String[] args) {

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

    }
}

运行结果:
运行结果

可见除了主线程(“Thread[main]”),还有一个 “Monitor Ctrl-Break” 线程,这应该是 IDEA 通过反射的方式,伴随你的程序一起启动的对你程序的监控线程。这并不算是一个问题,官方的 API 也说了 Thread.activeCount() 返回的只是一个估计值,所以你并不能依靠这个值来判断当前有多少线程在运行。

打开javahome下面的bin目录下面的应用程序jvisualvm.exe
可以看到详细的线程状况,你debug模式下的线程都可以看到

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题