《Java高并发程序设计》学习 --2.4 分门别类的管理:线程组
来源:互联网 发布:乘联会销量数据 10月 编辑:程序博客网 时间:2024/05/17 01:21
线程组的使用如下:
public class ThreadGroupName implements Runnable {
@Override
public void run() {
String groupAndName = Thread.currentThread().getThreadGroup().getName()
+ "-" + Thread.currentThread().getName();
while(true) {
System.out.println("I am " + groupAndName);
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
ThreadGroup tg = new ThreadGroup("PrintGroup");
Thread t1 = new Thread(tg,new ThreadGroupName(),"T1");
Thread t2 = new Thread(tg,new ThreadGroupName(),"T2");
t1.start();
t2.start();
System.out.println(tg.activeCount());
tg.list();
}
}
上述代码中,建立一个名为“PrintGroup”的线程组,并将T1和T2两个线程加入这个组中。代码中,展示了线程组的两个重要功能,activeCount()可以获得活动线程的总数,但由于线程是动态的,因此这个值只是一个估计值,无法确定精确,list()方法可以打印这个线程组中所有的线程信息,对调试有一定的帮助。代码中创建了两个线程,使用Thread的构造函数,指定线程所属的线程组,将线程和线程组关联起来。
线程组还有一个值得注意的方法stop(),它会停止线程组中的所有线程。
注:本篇博客内容摘自《Java高并发程序设计》
0 0
- 《Java高并发程序设计》学习 --2.4 分门别类的管理:线程组
- 《Java高并发程序设计》学习 --2.2 初始线程:线程的基本操作
- 《Java高并发程序设计》学习 --2.5 守护线程(Daemon)
- 《Java高并发程序设计》学习 --2.6 线程优先级
- 《Java高并发程序设计》学习 --2.7 线程安全的概念与synchronized
- 《Java高并发程序设计》学习 --3.3 JDK的并发容器
- 《Java高并发程序设计》学习 --3.2 线程复用:线程池
- 《Java高并发程序设计》学习 --2.8 隐蔽的错误
- 《Java高并发程序设计》学习 --6.7. 原子类的增强
- 《Java高并发程序设计》学习 --2.1 基本概念
- 《Java高并发程序设计》学习 --4.3 ThreadLocal
- 《Java高并发程序设计》学习 --5.11 AIO
- java高并发程序设计学习笔记四无锁
- 实战Java高并发程序设计学习路线
- java高并发程序设计学习笔记三内存模型线程安全
- java高并发程序设计
- java高并发程序设计
- java高并发程序设计
- 缓冲输出字符流_BufferedWriter类
- 第24题:Swap Nodes in Pairs
- linux下WMB通过ODBC连接数据库
- openresty 静态编译
- 为什么需要进程间通信??
- 《Java高并发程序设计》学习 --2.4 分门别类的管理:线程组
- 热敏打印机USB测试工具-USB PRINTER
- C#118课的主要内容
- 服务器 .htaccess 详解
- Cookie/Session机制详解
- 8.跳台阶
- 八皇后问题求解
- 代码模板:python-基础-1(常识)
- 论MySQL的入门