java线程组 线程池_JAVA多线程(三)-----线程组、线程池和线程相关类

一、线程组和未处理的异常

Thread类提供了如下几个构造器来设置新创建的线程属于哪个线程组:

Thread(ThreadGroup group,Runnable target):以target的run()方法作为线程执行体创建新线程,属于group线程组

Thread(ThreadGroup group,Runnable target,String Name):以target的run()方法作为线程执行体创建新线程,属于group线程组,线程名为name

Thread(ThreadGroup group,String Name):创建新线程,线程名为name,属于group数组

中途不可改变线程所属线程组

ThreadGroup类提供了如下两个简单的构造器来创建实例:

ThreadGroup(String name):以指定的线程组名字来创建新的线程组

ThreadGroup(ThreadGroup parent,String name):以指定的线程组名字,父线程组来创建新的线程组

public class MyThread extendsThread{//提供指定线程名的构造器

publicMyThread(String name) {super(name);

}//提供指定线程名、线程组的构造器

publicMyThread(ThreadGroup group, String name) {super(group,name);

}public voidrun() {for(int i = 0; i < 20; i++) {

System.out.println(getName()+ " 线程的i变量" +i);

}

}public static voidmain(String[] args) {//获取主线程所在的线程组,这是所有线程默认的线程组

ThreadGroup mainGroup =Thread.currentThread().getThreadGroup();

System.out.println("主线程组的名字:" +mainGroup.getName());

System.out.println("主线程组是否是后台线程组" +mainGroup.isDaemon());new MyThread("主线程的线程").start();

ThreadGroup tg= new ThreadGroup("新线程组");

tg.setDaemon(true);

System.out.println("tg线程组是否是后台线程组" +tg.isDaemon());

MyThread tt= new MyThread(tg,"tg组的线程甲");

tt.start();new MyThread(tg,"tg组的线程乙").start();

}

}

ThreadGroup内还定义了一个很有用的方法,用于处理该线程组内的任意线程所抛出的未处理异常

void uncaughtException(Thread t,Throwable e)

如果线程执行过程中抛出了一个未处理异常,JVM在结束线程之前会自动查找是否有对应的Thread.UncaughtExceptionHandler对象,并调用该对象的uncaughtException(Thread t,Throwable e)方法来处理该异常

class MyExHandler implementsThread.UncaughtExceptionHandler{public voiduncaughtException(Thread t,Throwable e) {

System.out.println(t+ "线程出现了异常“:" +e);

}

}public classExHandler {public static voidmain(String[] args) {

Thread.currentThread().setUncaughtExceptionHandler(newMyExHandler());int a = 5/0;

System.out.println("程序正常结束!");

}

}

二、线程池

三、线程相关类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值