对线程分组是Java并发API提供的一个有趣功能。我们可以将一组线程看成一个独立单元,并且可以随意操纵线程组中的线程对象。比如,可以控制一组线程来运行同样的任务,无需关心有多少线程还在运行,还可以使用一次中断调用中断所有线程的执行。
Java提供了ThreadGroup类来控制一个线程组。一个线程组可以通过线程对象来创建,也可以由其他线程组来创建,生成一个树形结构的线程。
根据《Effective Java》的说明,不再建议使用ThreadGroup。建议使用Executor。
——D瓜哥特此说明。
在本节,我们就使用ThreadGroup来开发一个简单的示例。我们将创建十个休眠时间不等的线程(比如模拟搜索),当其中一个完成时,中断其余线程。
知其然
按照下面所示步骤,完成示例代码。
1.创建一个名为Result的类,用于存储第一个完成任务的线程的名字。声明一个String类型的私有变量,name,同时生成Setter/Getter方法。代码如下:
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
本文地址:https://www.stayed.cn/item/15366
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我