ThreadGroup
1.概述:线程组表示一个线程的集合
2.构造方法:
public ThreadGroup(String name) 构造一个新线程组
3.成员方法:
(1)public final String getName()返回此线程组的名称
(2)public final void setDaemon(boolean daemon)将所有线程组中的所有线程设置为守护线程
Thread类中:
(1)构造方法:
public Thread(ThreadGroup group,Runnable target,String name)
分配新的 Thread 对象,以便将 target 作为其运行对象,将指定的 name 作为其名称,并作为 group 所引用的线程组的一员
(2)方法:
public final ThreadGroup getThreadGroup() 返回该线程所属的线程组
注:若不命名线程组名称,则所有子线程默认的线程组名称为:main线程
例1:所有子线程默认的线程组名称都为main
// 测试类
public class ThreadGroupDemo {
public static void main(String[] args) {
// 创建资源对象
MyRunnable mr = new MyRunnable();
// 创建线程类对象
Thread t1 = new Thread(mr);
Thread t2 = new Thread(mr);
// 返回子线程所在的线程组
ThreadGroup threadGroup = t1.getThreadGroup();
ThreadGroup threadGroup2 = t2.getThreadGroup();
System.out.println(threadGroup.getName()+","+threadGroup2.getName());
}
}
// 自定义线程类
public class MyRunnable implements Runnable {
@Override
public void run() {
System.out.println("It is a test!");
}
}结果:main,main
例2:
// 测试类
public class ThreadGroupDemo {
public static void main(String[] args) {
// 构造一个新线程组名称
ThreadGroup threadGroup = new ThreadGroup("线程组");
// 创建资源对象
MyRunnable myRunnable = new MyRunnable();
Thread thread = new Thread(threadGroup,myRunnable);
Thread thread2 = new Thread(threadGroup,myRunnable);
ThreadGroup threadGroup2 = thread.getThreadGroup();
ThreadGroup threadGroup3 = thread2.getThreadGroup();
System.out.println(threadGroup2.getName());
System.out.println(threadGroup3.getName());
}
}
// 自定义线程类
public class MyRunnable implements Runnable {
@Override
public void run() {
System.out.println("It is a test!");
}
}
线程组
线程组
本文介绍了Java中的ThreadGroup类,包括其构造方法和成员方法,以及如何使用它来管理线程组。通过两个示例展示了当不指定线程组名称时,默认线程组名称为main,以及如何自定义线程组名称。
691

被折叠的 条评论
为什么被折叠?



