Java线程组ThreadGroup学习与总结.docx

上传人:自*** 文档编号:125509286 上传时间:2020-03-18 格式:DOCX 页数:2 大小:32.44KB
返回 下载 相关 举报
Java线程组ThreadGroup学习与总结.docx_第1页
第1页 / 共2页
Java线程组ThreadGroup学习与总结.docx_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《Java线程组ThreadGroup学习与总结.docx》由会员分享,可在线阅读,更多相关《Java线程组ThreadGroup学习与总结.docx(2页珍藏版)》请在金锄头文库上搜索。

1、线程组ThreadGroup学习与总结在Java中每个线程都属于某个线程组(ThreadGroup)。例如,如果在main()中产生一个线程,则这个线程属于main线程组管理的一员,您可以使用下面的指令来获得目前线程所属的线程组名称:Thread.currentThread().getThreadGroup().getName();一个线程产生时,都会被归入某个线程组,视线程是在哪个线程组中产生而定。如果没有指定,则归入产生该子线程的线程组中。您也可以自行指定线程组,线程一旦归入某个组,就无法更换组。 java.lang.ThreadGroup类正如其名,可以统一管理整个线程组中的线程,您可以

2、使用以下方式来产生线程组,而且一并指定其线程组:ThreadGroup threadGroup1 = new ThreadGroup(group1);ThreadGroup threadGroup2 = new ThreadGroup(group2);Thread thread1 = new Thread(threadGroup1, group1s member);Thread thread2 = new Thread(threadGroup2, group2s member); ThreadGroup中的某些方法,可以对所有的线程产生作用,例如interrupt()方法可以interrupt

3、线程组中所有的线 程,setMaxPriority()方法可以设置线程组中线程所能拥有的最高优先权(本来就拥有更高优先权的线程不受影响)。 如果想要一次获得线程组中所有的线程来进行某种操作,可以使用enumerate()方法,例如:Thread threads = new ThreadthreadGroup1.activeCount();threadGroup1.enumerate(threads); ThreadGroup中有一个uncaughtException()方法。当线程组中某个线程发生Unchecked exception异常时,由执行环境调用此方法进行相关处理,如果有必要,可以重

4、新定义此方法,请看下面的示例。package onlyfun.caterpillar;public class ThreadGroupDemo public static void main(String args) ThreadGroup threadGroup1 =/ 这是匿名类写法new ThreadGroup(group1) / 继承ThreadGroup并重新定义以下方法 / 在线程成员抛出unchecked exception / 会执行此方法 public void uncaughtException(Thread t, Throwable e) System.out.println(t.getName() + : + e.getMessage(); ;/ 这是匿名类写法Thread thread1 =/ 这个线程是threadGroup1的一员new Thread(threadGroup1, new Runnable() public void run() / 抛出unchecked异常throw new RuntimeException(测试异常); );thread1.start(); 在uncaughtException()方法的参数中,第一个参数可以获得发生异常的线程实例,而第二个参数可以获得异常对象,范例中显示了线程的名称及异常信息。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 总结/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号