Java线程组ThreadGroup学习与总结

上传人:磨石 文档编号:108906815 上传时间:2022-06-16 格式:DOCX 页数:2 大小:13.12KB
返回 下载 相关 举报
Java线程组ThreadGroup学习与总结_第1页
第1页 / 共2页
Java线程组ThreadGroup学习与总结_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述
线程组ThreadGroup学习与总结在Java中每个线程都属于某个线程组(ThreadGroup)。例如,如果在main()中产生一个线程,则这个线程属于main线程组管理的一员,您可以使用下面的指令来获得目前线程所属的线程组名称:Thread.currentThread().getThreadGroup().getName();一个线程产生时,都会被归入某个线程组,视线程是在哪个线程组中产生而定。如果没有指定,则归入产生该子线程的线程组中。您也可以自行指定线程组,线程一旦归入某个组,就无法更换组。 java.lang.ThreadGroup类正如其名,可以统一管理整个线程组中的线程,您可以使用以下方式来产生线程组,而且一并指定其线程组: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线程组中所有的线 程,setMaxPriority()方法可以设置线程组中线程所能拥有的最高优先权(本来就拥有更高优先权的线程不受影响)。 如果想要一次获得线程组中所有的线程来进行某种操作,可以使用enumerate()方法,例如:Thread threads = new ThreadthreadGroup1.activeCount();threadGroup1.enumerate(threads); ThreadGroup中有一个uncaughtException()方法。当线程组中某个线程发生Unchecked exception异常时,由执行环境调用此方法进行相关处理,如果有必要,可以重新定义此方法,请看下面的示例。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()方法的参数中,第一个参数可以获得发生异常的线程实例,而第二个参数可以获得异常对象,范例中显示了线程的名称及异常信息。2 / 2
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!