ThreadGroup分析

简介:

本文为转载:http://sunboyyyl.blog.163.com/blog/static/2247381201211531712330/

在Java中每一个线程都归属于某个线程组管理的一员,例如在主函数main()主工作流程中产生一个线程,则产生的线程属于main这个线程组管理的一员。简单地说,线程组就是由线程组成的管理线程的类,这个类是java.lang.ThreadGroup类。
可以通过使用如下代码获取此线程所属线程组的名称。
Thread.currentThread().getThreadGroup().getName();
currentThread():取得当前线程。
getThreadGroup():取得当前线程所在的组。
getName():取得组的名称。
定义一个线程组,通过以下代码可以实现。
ThreadGroup group=new ThreadGroup("group");
Thread thread=new Thread(group,"the first thread of group");
ThreadGroup类中的某些方法,可以对线程组中的线程产生作用。例如,setMaxPriority()方法可以设定线程组中的所有线程拥有最大的优先权。

ThreadGroup

线程组表示一个线程的集合。此外,线程组也可以包含其他线程组。线程组构成一棵树,在树中,除了初始线程组外,每个线程组都有一个父线程组。 

允许线程访问有关自己的线程组的信息,但是不允许它访问有关其线程组的父线程组或其他任何线程组的信息。 


构造方法摘要 
ThreadGroup(String name) // 构造一个新线程组。 
ThreadGroup(ThreadGroup parent, String name) // 创建一个新线程组。 

如:
ThreadGroup g=new ThreadGroup("g1");
Thread t=new Thread(g,new TestThread(1000,"AAA"));
其中的g即线程所属的线程组

使用线程组的好处是可以对这一组的线程进行整体操作。

其中部分的方法

int activeCount() 
返回此线程组中活动线程的估计数。 
int activeGroupCount() 
返回此线程组中活动线程组的估计数。 
String getName() 
返回此线程组的名称。 
ThreadGroup getParent() 
返回此线程组的父线程组。 
void resume() 
已过时。 此方法只用于联合 Thread.suspend 和 ThreadGroup.suspend 时,因为它们所固有的容易导致死锁的特性,所以两者都已废弃。有关详细信息,请参阅 Thread.suspend()。 
void setDaemon(boolean daemon) 
更改此线程组的后台程序状态。 
void setMaxPriority(int pri) 
设置线程组的最高优先级。 
void stop() 
已过时。 

分类:  Java基础
本文转自demoblog博客园博客,原文链接http://www.cnblogs.com/0616--ataozhijia/p/3710571.html如需转载请自行联系原作者

demoblog
相关文章
|
4月前
queryCoord的checkerController分析
queryCoord的checkerController分析
350 0
|
弹性计算 运维 安全
全面分析和理解PBC
全面分析和理解PBC
4595 0
全面分析和理解PBC
|
SQL
【MySQLprofiling分析
【MySQLprofiling分析
81 0
【MySQLprofiling分析
|
定位技术 Android开发
BottomSheetBehavior分析
BottomSheetBehavior分析
BottomSheetBehavior分析
摊还分析
摊还分析 本章内容: 1.聚合分析 2.核算法 3.势能法 4.动态表   一  聚合分析   1.  在摊还分析中,我们求数据结构的一个操作序列中所执行的所有操作的平均时间,来评价操作的代价,它不涉及概率,可以保证最坏情况下每个操作的平均性能。
736 0
|
供应链 数据挖掘
场景分析
如何梳理业务流程、建立指标体系?
683 0
场景分析
|
Web App开发 前端开发 NoSQL