就我所见, activeCount()只给出了线程的数量,而enumerate则是运行中的线程. 我跟踪了一下Code,ThreadGroup中每产生一个线程, activeCount()都会加一,而enumerate的线程需要是在运行中的.以你的例子,Thread[one,5,x]并不在运行中,所以...我跟踪的是1.4.0,是否不同的JDK有不同的实现?

解决方案 »

  1.   

    我理解你的意思,我也考虑过可能是这个原因,但是 ThreadGroup g =
     getThreadGroup().getParent().getParent(); 的定义已经把g的线程组层
    次提到了 ThreadGroup  x = new ThreadGroup("x")层次, 所以我觉得g.enumerate(gAll)这个语句可以实现这个层次(级别)下的所有线程的引用了!