多个线程可以组成一个线程组,线程组可以对一批线程统一调度和管理,也就是说,控制一个线程组相当于控制这个线程组中所有的线程。Java语言以ThreadGroup这个类来表示线程组这个概念。以ThreadGroup类对象作为构造方法的参数创建一个线程时,实际上就是指定这个线程归入某一个线程组,例如:
//创建一个名称为group的线程组
ThreadGroup group = new ThreadGroup("group");
//创建一个名为myThread的线程并指定这个线程归入group线程组
Thread thread = new Thread(group,"myThread");
从以上代码可以看出:创建线程时能够指定这个线程归入哪个线程组。如果没有指定线程归入哪个线程组,那么这个线程与创建它的线程同在一组。例如A线程创建了B线程,但没有指定B线程归入哪个线程组,那么B线程与A属于同一个线程组。从【例14_01】可以看出:主线程属于一个名为“main”的线程组,因此由主线程创建的子线程默认归入main线程组内。线程在创建之后就不能改变线程组,但Thread类提供了一个getThreadGroup()方法来获得其所属的线程组对象。
ThreadGroup类提供了一些方法来操作线程组,如下面的表14-5所示。
表14-5 ThreadGroup类的方法
下一篇:Linux——常用命令