【我的Java笔记】多线程_线程组

本文介绍了Java中的ThreadGroup类,包括其构造方法和成员方法,以及如何使用它来管理线程组。通过两个示例展示了当不指定线程组名称时,默认线程组名称为main,以及如何自定义线程组名称。

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!");

	}

}


结果:

线程组

线程组


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值