首页>>后端>>java->Java线程组(ThreadGroup)的概念以及代码演示

Java线程组(ThreadGroup)的概念以及代码演示

时间:2023-12-01 本站 点击:0

1 概念

publicclassThreadGroupextendsObjectimplementsThread.UncaughtExceptionHandler

线程组:多个线程存放在一个组中,方便对线程的统一管理。Java中具有专门的线程组对象,对应ThreadGroup类。如果创建的线程没有指定任何的组,那么这个线程在main组当中。

2 构造器和常用方法

构造器:

/***创建一个新线程组。新线程组的父线程组是目前正在运行线程的线程组。**@paramname新线程组的名称*/publicThreadGroup(Stringname)/***创建一个新线程组。新线程组的父线程组是指定的线程组。**@paramparent父线程组*@paramname新线程组的名称。*/publicThreadGroup(ThreadGroupparent,Stringname)

常用方法:

//获取当前线程所在线程组的活动线程总数(估计)。threadGroup.activeCount()//或者下面的方法Thread.activeCount()//获取该线程组的父线程组threadGroup.getParent()//获取当前线程所属线程组Thread.currentThread().getThreadGroup()

3 使用

常常结合Thread的构造器进行使用,用来对一批线程进行分组,方便追踪。

//获取main线程的线程组System.out.println(Thread.currentThread().getThreadGroup());//获取当前线程的线程组中的活动线程数System.out.println(Thread.activeCount());//获取main线程的线程组信息System.out.println(Thread.currentThread());//新建线程组ThreadGroupthreadGroup=newThreadGroup("新线程组");//获取该线程组的父线程组,可以看到,它的父线程组是main线程组ThreadGroupparent=threadGroup.getParent();System.out.println(parent);//新建子线程,加入该线程组Threadthread=newThread(threadGroup,"子线程");//打印该子线程信息System.out.println(thread);

打印的线程对象的格式:

Thread[子线程,5,新线程组] Thread[main,5,main]

其中: Thread-0:线程的名称 5:线程默认的优先级 main:线程所在的线程组名(如果创建的线程没有指定任何的组,那么这个线程默认在main线程组当中)。

如果有什么不懂或者需要交流,可以留言。另外希望点赞、收藏、关注,我将不间断更新各种Java学习博客!


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/java/5480.html