Java线程池-日志中的线程数

Java线程池-日志中的线程数,java,multithreading,Java,Multithreading,我正在使用一个网络库,它使用一个线程池将任务委托给专门的请求处理程序。在图书馆的日志中,我看到了以下内容: [05.03.2010 16:11:27] [pool-3-thread-9] DEBUG ... [05.03.2010 16:11:27] [pool-1-thread-447] DEBUG ...... [05.03.2010 16:11:27] [pool-1-thread-447] DEBUG .... [05.03.2010 16:11:27] [pool-1-thread-4

我正在使用一个网络库,它使用一个线程池将任务委托给专门的请求处理程序。在图书馆的日志中,我看到了以下内容:

[05.03.2010 16:11:27] [pool-3-thread-9] DEBUG ...
[05.03.2010 16:11:27] [pool-1-thread-447] DEBUG ......
[05.03.2010 16:11:27] [pool-1-thread-447] DEBUG ....
[05.03.2010 16:11:27] [pool-1-thread-440] DEBUG ..

线程ID正在缓慢上升,但内存使用情况是一致的。这是否意味着此处正在使用缓存线程池?这是一个相当大的线程ID,我希望这并不意味着应用程序中有超过400个空闲/工作线程。

线程的Java源代码中,有以下代码:

private static int threadInitNumber;

private static synchronized int nextThreadNum() {
    return threadInitNumber++;
}
当用户未指定名称时,线程构造函数使用此数字。它们不会对终止/完成的线程重复使用编号


因此,当内存消耗相等时:这肯定意味着旧线程没有(完全)被重用,而是被终止或完成。

您可能会看到进程的堆栈跟踪(unix上的kill-QUIT process_id)。
这应该显示进程的所有线程

使用任务管理器查看应用程序中正在运行的线程数。