关于 ThreadGroup#activeCount() 的困惑

Confusion regarding ThreadGroup#activeCount()

ThreadGroup#activeCount() 的文档说:Returns 此线程组及其子组中活动线程数的估计.
该计数是否包括处于 sleep 、 wait 和 join 模式的线程或仅包括那些正在执行 运行 方法的线程?

谢谢。

你可以很容易地试试这个:

Thread t1 = new Thread(new Runnable() {

    @Override
    public void run() {
        Scanner sc = new Scanner(System.in);
        sc.nextInt();
    }
});
Thread t2 = new Thread(new Runnable() {

    @Override
    public void run() {
        try {
            Thread.sleep(10000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
});
t1.start();   // this will be RUNNABLE
t2.start();   // this will be TIMED_WAITING
System.out.println(Thread.currentThread().getThreadGroup().activeCount());

打印 3. 注释行

t1.start();
t2.start();

导致打印 1。