線程總是線程組的成員。
默認情況下,線程的線程組是其創(chuàng)建者線程的組。
Java程序中的線程組由java.lang.ThreadGroup類的一個對象表示。
Thread類中的getThreadGroup()方法返回一個線程的ThreadGroup的引用。
以下代碼演示了,默認情況下,新線程是其創(chuàng)建者線程的線程組的成員。
public class Main { public static void main(String[] args) { Thread t1 = Thread.currentThread(); ThreadGroup tg1 = t1.getThreadGroup(); System.out.println("Current thread"s name: " + t1.getName()); System.out.println("Current thread"s group name: " + tg1.getName()); Thread t2 = new Thread("my new thread"); ThreadGroup tg2 = t2.getThreadGroup(); System.out.println("New thread"s name: " + t2.getName()); System.out.println("New thread"s group name: " + tg2.getName()); } }
上面的代碼生成以下結(jié)果。
您還可以創(chuàng)建線程組,并在該線程組中放置一個新線程。
要在你的線程組中放置一個新線程,我們必須使用Thread類的一個構(gòu)造函數(shù)來接受一個ThreadGroup對象作為參數(shù)。
以下代碼將新線程放置在特定線程組中:
ThreadGroup myGroup = new ThreadGroup("My Thread Group"); Thread t = new Thread(myGroup, "myThreadName");
線程組以樹狀結(jié)構(gòu)布置。線程組可以包含另一個線程組。
ThreadGroup類中的getParent()方法返回線程組的父線程組。
頂層線程組的父級為null。
ThreadGroup的activeCount()方法返回組中活動線程數(shù)的估計值。
ThreadGroup類的enumerate()方法返回線程組中的線程。
更多建議: