您的位置:首页 > 编程语言 > Java开发

java.lang.ThreadGroup学习笔记

2012-11-19 12:26 351 查看
public class ThreadGroup extends Object implements Thread.UncaughtExceptionHandler


线程组表示一个线程的集合。此外,线程组也可以包含其他线程组。线程组构成一棵树,在树中,除了初始线程组外,每个线程组都有一个父线程组(新线程组的父线程组是目前正在运行线程的线程组)。 允许线程访问有关自己的线程组的信息,但是不允许它访问有关其线程组的父线程组或其他任何线程组的信息。


ThreadGroup(String name)
  构造一个新线程组。
ThreadGroup(ThreadGroup parent, String name)

创建一个新线程组。
使用下面的指令来取得目前执行绪所属的执行绪群组名称:


Thread.currentThread().getThreadGroup().getName()。


线程组的基本使用:


ThreadGroup threadGroup1 = new ThreadGroup("group1");


ThreadGroup threadGroup2 = new ThreadGroup("group2");


Thread thread1 = new Thread(threadGroup1, "group1's member");


Thread thread2 = new Thread(threadGroup2, "group2's member");

获得线程组中活动的线程:

Thread[] threads = new Thread[threadGroup1.activeCount()];
threadGroup1.enumerate(threads);
 
方法:
 int
activeCount()

          返回此线程组中活动线程的估计数。
 int
activeGroupCount()
          返回此线程组中活动线程组的估计数。
 boolean
allowThreadSuspension(boolean b)

          已过时。 此调用的定义取决于
suspend()
,它被废弃了。更进一步地说,此调用的行为从不被指定。
 void
checkAccess()

          确定当前运行的线程是否有权修改此线程组。
 void
destroy()
          销毁此线程组及其所有子组。
 int
enumerate(Thread[] list)

          把此线程组及其子组中的所有活动线程复制到指定数组中。
 int
enumerate(Thread[] list,
boolean recurse)
          把此线程组中的所有活动线程复制到指定数组中。
 int
enumerate(ThreadGroup[] list)

          把对此线程组中的所有活动子组的引用复制到指定数组中。
 int
enumerate(ThreadGroup[] list,
boolean recurse)
          把对此线程组中的所有活动子组的引用复制到指定数组中。
 int
getMaxPriority()

          返回此线程组的最高优先级。
 String
getName()

          返回此线程组的名称。
 ThreadGroup
getParent()

          返回此线程组的父线程组。
 void
interrupt()
          中断此线程组中的所有线程。
 boolean
isDaemon()

          测试此线程组是否为一个后台程序线程组。
 boolean
isDestroyed()
          测试此线程组是否已经被销毁。
 void
list()

          将有关此线程组的信息打印到标准输出。
 boolean
parentOf(ThreadGroup g)

          测试此线程组是否为线程组参数或其祖先线程组之一。
 void
resume()

          已过时。 此方法只用于联合 Thread.suspend 和 ThreadGroup.suspend 时,因为它们所固有的容易导致死锁的特性,所以两者都已废弃。有关详细信息,请参阅
Thread.suspend()
 void
setDaemon(boolean daemon)

          更改此线程组的后台程序状态。
 void
setMaxPriority(int pri)
          设置线程组的最高优先级。
 void
stop()

          已过时。 此方法具有固有的不安全性。有关详细信息,请参阅
Thread.stop()
 void
suspend()

          已过时。 此方法容易导致死锁。有关详细信息,请参阅
Thread.suspend()
 String
toString()

          返回此线程组的字符串表示形式。
 void
uncaughtException(Thread t, Throwable e)

          当此线程组中的线程因为一个未捕获的异常而停止,并且线程没有安装特定
Thread.UncaughtExceptionHandler
时,由 Java Virtual Machine 调用此方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Thread