java中活动线程计数中的后台线程是什么?
我正在使用带有10个固定线程的Executor服务java中活动线程计数中的后台线程是什么?,java,multithreading,executorservice,Java,Multithreading,Executorservice,我正在使用带有10个固定线程的Executor服务 ExecutorService service = Executors.newFixedThreadPool(10); 当我尝试使用 System.out.println(Thread.activeCount()); 产量从11到15不等 我知道其中一个线程是主线程 但是其他线程是什么?Java中有一些线程在后台运行,例如用于调用finalize()方法的Finalizer。您可以通过查看most父级来打印它们: 它将输出如下内容
ExecutorService service = Executors.newFixedThreadPool(10);
当我尝试使用
System.out.println(Thread.activeCount());
产量从11到15不等
我知道其中一个线程是主线程
但是其他线程是什么?Java中有一些线程在后台运行,例如用于调用
finalize()
方法的Finalizer。您可以通过查看most父级来打印它们:
它将输出如下内容
Thread[Reference Handler,10,system]
Thread[Finalizer,8,system]
Thread[Signal Dispatcher,9,system]
Thread[Attach Listener,5,system]
Thread[main,5,main]
Thread[Monitor Ctrl-Break,5,main]
在您的示例中,
Thread.activeCount()
是Thread.currentThread().getThreadGroup().activeCount()
的简写,因此您看到的是最顶端的当前线程组。垃圾收集器可能使用线程。根据您使用的库/框架,它们也可能使用线程,但您没有对此进行任何指定。
Thread[Reference Handler,10,system]
Thread[Finalizer,8,system]
Thread[Signal Dispatcher,9,system]
Thread[Attach Listener,5,system]
Thread[main,5,main]
Thread[Monitor Ctrl-Break,5,main]