Java.lang ThreadGroup
精华
小牛编辑
161浏览
2023-03-14
1 Java.lang ThreadGroup介绍
java.lang.ThreadGroup 类表示一组线程。它也可以包括其它的线程组。线程组构成一棵树,除了初始线程组中的每个线程组都有一个父类。
2 Java.lang ThreadGroup声明
public class ThreadGroup
extends Object
implements Thread.UncaughtExceptionHandler
3 Java.lang ThreadGroup方法
方法 | 描述 |
---|---|
int activeCount() | 此方法返回活动线程在该线程组的数目的估计值。 |
int activeGroupCount() | 此方法返回活动组在该线程组的数目的估计值。 |
void checkAccess() | 此方法确定当前运行的线程是否有权修改该线程组。 |
void destroy() | 此方法销毁此线程组及其所有子组。 |
int enumerate(Thread[] list) | 此方法会复制到指定的数组中该线程组及其子组中的所有活动线程。 |
int enumerate(Thread[] list, boolean recurse) | 此方法会复制到指定的数组该线程组中的所有活动线程。 |
int enumerate(ThreadGroup[] list) | 此方法会复制到该线程组中指定的数组引用所有活动子组。 |
int enumerate(ThreadGroup[] list, boolean recurse) | 此方法会复制到该线程组中指定的数组引用所有活动子组。 |
int getMaxPriority() | 此方法返回该线程组的最大优先级。 |
String getName() | 此方法返回该线程组的名称。 |
ThreadGroup getParent() | 此方法返回该线程组的父级。 |
void interrupt() | 此方法会中断该线程组中的所有线程。 |
boolean isDaemon() | 此方法测试该线程组是一个后台程序线程组。 |
boolean isDestroyed() | 此方法测试该线程组是否已销毁。 |
void list() | 此方法打印这个线程组到标准输出的信息。 |
boolean parentOf(ThreadGroup g) | 此方法测试该线程组是否为线程组参数或其祖先线程组之一。 |
void setDaemon(boolean daemon) | 此方法更改该线程组的守护进程的状态。 |
void setMaxPriority(int pri) | 此方法设置组的最高优先级。 |
String toString() | 此方法返回该线程组的字符串表示形式。 |
void uncaughtException(Thread t, Throwable e) | 当该线程组中的线程停止,因为未捕获的异常的此方法调用Java虚拟机,线程没有安装特定的Thread.UncaughtExceptionHandler。 |
4 Java.lang ThreadGroup案例
package cn.xnip;
/**
* 小牛知识库网: https://www.xnip.cn
*/
public class ThreadGroupDemo implements Runnable{
public void run() {
System.out.println(Thread.currentThread().getName());
}
public static void main(String[] args) {
ThreadGroupDemo runnable = new ThreadGroupDemo();
ThreadGroup tg1 = new ThreadGroup("Parent ThreadGroup");
Thread t1 = new Thread(tg1, runnable,"one");
t1.start();
Thread t2 = new Thread(tg1, runnable,"two");
t2.start();
Thread t3 = new Thread(tg1, runnable,"three");
t3.start();
System.out.println("Thread Group Name: "+tg1.getName());
tg1.list();
}
}
输出结果为:
one
two
three
Thread Group Name: Parent ThreadGroup
java.lang.ThreadGroup[name=Parent ThreadGroup,maxpri=10]
Thread[one,5,Parent ThreadGroup]
Thread[two,5,Parent ThreadGroup]
Thread[three,5,Parent ThreadGroup]