Java ThreadGroup activeGroupCount()方法

2019-10-16 22:23:53

ThreadGroup類的activeGroupCount()方法返回此執行緒組及其子組中活動組數的估計值。 返回的值只是一個估計值,因為當此方法遍歷內部資料結構時,執行緒組的數量可能會動態更改。

語法

public int activeGroupCount()

返回

它返回此執行緒組作為祖先的活動執行緒組的數量。

範例

package com.yiibai.threadgroup;

class NewThread extends Thread {
    NewThread(String threadname, ThreadGroup tg) {
        super(tg, threadname);
    }

    public void run() {
        for (int i = 0; i < 10; i++) {
            try {
                Thread.sleep(10);
            } catch (InterruptedException ex) {
                System.out.println(Thread.currentThread().getName() + " interrupted");
            }
        }
        System.out.println(Thread.currentThread().getName() + " completed executing");
    }
}

public class ThreadGroupActiveGroupExp {
    public static void main(String arg[]) {
        // creating the thread group
        ThreadGroup tg1 = new ThreadGroup("parent thread group");
        ThreadGroup tg2 = new ThreadGroup(tg1, "child threadGroup");
        ThreadGroup tg3 = new ThreadGroup(tg1, "child threadGroup");

        // creating the threads
        NewThread t1 = new NewThread("Thread-1", tg1);
        System.out.println(t1.getName() + " starts");
        // this will call the run() method
        t1.start();

        // checking the number of active thread
        System.out.println("Number of active thread group: " + tg1.activeGroupCount());
    }
}

執行上面範例程式碼,得到以下結果:

Thread-1 starts
Number of active thread group: 2
Thread-1 completed executing