多线程 线程组 ThreadGroup
package org.zln.thread; import java.util.Date; /**
* Created by sherry on 000024/6/24 22:30.
*/
public class TestThreadGroup {
public static void main(String[] args) throws InterruptedException {
ThreadGroup group1 = new ThreadGroup("group1");
/*group2从属于group1 group1是父 group2是子*/
ThreadGroup group2 = new ThreadGroup(group1,"group2");
/*关联线程与线程组*/
Thread t1 = new Thread(group1,new TestThread(1000,"AAA"));
Thread t2 = new Thread(group2,new TestThread(1000,"BBB"));
Thread t3 = new Thread(group2,new TestThread(1000,"CCC"));
t1.start();
t2.start();
t3.start();
System.out.println("线程组1线程数量:"+group1.activeCount());
System.out.println("线程组2线程数量:"+group2.activeCount());
System.out.println("线程组1线程组数量:"+group1.activeGroupCount()); /*10秒后停止所有任务*/
for (int i = 0; i < 10; i++) {
Thread.sleep(1000);
System.out.println(new Date());
}
group1.stop();//这里只是为了演示 stop是不安全的。实际开发中不要用
}
}
package org.zln.thread; import java.util.Date; /**
* Created by coolkid on 2015/6/21 0021.
*/
public class TestThread extends Thread{
private int time;//休眠时间
private String user;//调用用户 public TestThread(int time, String user) {
this.time = time;
this.user = user;
} @Override
public void run() {
while (true){
try {
System.out.println(Thread.currentThread().getName()+"\t"+user+" 休息 "+time+"ms-"+new Date());
Thread.sleep(time);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
} public static void main(String[] args) {
Thread thread1 = new TestThread(1000,"Jack");
Thread thread2 = new TestThread(3000,"Mike");
thread2.setPriority(Thread.MAX_PRIORITY);
thread1.start();
thread2.start();
}
}
使用线程组的好处在于能够对线程组内的线程进行批量操作,同时线程组之间也可以拥有包含关系,或者叫父子关系
多线程 线程组 ThreadGroup的更多相关文章
- java 多线程 线程组ThreadGroup;多线程的异常处理。interrupt批量停止组内线程;线程组异常处理
1,线程组定义: 线程组存在的意义,首要原因是安全.java默认创建的线程都是属于系统线程组,而同一个线程组的线程是可以相互修改对方的数据的.但如果在不同的线程组中,那么就不能"跨线程组&q ...
- 线程组ThreadGroup分析详解 多线程中篇(三)
线程组,顾名思义,就是线程的组,逻辑类似项目组,用于管理项目成员,线程组就是用来管理线程. 每个线程都会有一个线程组,如果没有设置将会有些默认的初始化设置 而在java中线程组则是使用类ThreadG ...
- “全栈2019”Java多线程第十三章:线程组ThreadGroup详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- JAVA基础知识之多线程——线程组和未处理异常
线程组 Java中的ThreadGroup类表示线程组,在创建新线程时,可以通过构造函数Thread(group...)来指定线程组. 线程组具有以下特征 如果没有显式指定线程组,则新线程属于默认线程 ...
- 线程组ThreadGroup
ThreadGroup线程组表示一个线程的集合.此外,线程组也可以包含其他线程组. 线程组构成一棵树,在树中,除了初始线程组外,每个线程组都有一个父线程组. 允许线程访问有关自己的线程组的信息,但 ...
- JDK中线程组ThreadGroup
如果线程有100条...分散的不好管理... 线程同样可以分组ThreadGroup类. 线程组表示一个线程的集合.此外,线程组也可以包含其他线程组.线程组构成一棵树,在树中,除了初始线程组外,每个线 ...
- Java多线程 - 线程组
Java使用ThreadGroup来表示线程组,用以对一批线程进行分类管理. Java允许程序对线程组直接进行控制,对线程组的控制相当于同时控制这批线程: 用户创建的所有线程都属于指定线程组,如果程序 ...
- 浅析Java中线程组(ThreadGroup类)
Java中使用ThreadGroup类来代表线程组,表示一组线程的集合,可以对一批线程和线程组进行管理.可以把线程归属到某一个线程组中,线程组中可以有线程对象,也可以有线程组,组中还可以有线程,这样的 ...
- java基础-多线程-线程组
线程组 * Java中使用ThreadGroup来表示线程组,它可以对一批线程进行分类管理,Java允许程序直接对线程组进行控制. * 默认情况下,所有的线程都属于主线程组. * public fi ...
随机推荐
- socket上传nsdictionary的json数据异常
异常情况如下:按照正常的写法,将上传对数据封装在nsdictionary里,然后检验是否符合json格式化,调用系统的json序列化方法将nsdictionary转化为json数据然后上传, 异常结果 ...
- vue-router 实现分析
我们分别从不同的视角来看 vue-router. http://mp.weixin.qq.com/s?__biz=MzUxMzcxMzE5Ng==&mid=2247485737&idx ...
- react搭建一个框架(react-redux-axios-antd Designs)
废话不多说,先给一个github案例:前往.. 1.create-react-app <文件名> 安装router:npm i react-router-dom -S; npm inst ...
- LeetCode94. Binary Tree Inorder Traversal
题目 给定一个二叉树,返回它的中序 遍历. 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 考点 stack ...
- 洛谷P1437 [HNOI2004]敲砖块(dp)
题目背景 无 题目描述 在一个凹槽中放置了 n 层砖块.最上面的一层有n 块砖,从上到下每层依次减少一块砖.每块砖 都有一个分值,敲掉这块砖就能得到相应的分值,如下图所示. 14 15 4 3 23 ...
- Matplotlib 图表的基本参数设置
1.图名,图例,轴标签,轴边界,轴刻度,轴刻度标签 # 图名,图例,轴标签,轴边界,轴刻度,轴刻度标签等 df = pd.DataFrame(np.random.rand(10,2),columns= ...
- 1、spring boot入门
1.Spring Boot 简介 简化Spring应用开发的一个框架: 整个Spring技术栈的一个大整合: J2EE开发的一站式解决方案: 2.微服务 2014,martin fowler 微服务: ...
- 笔记-Python-language reference-5.the import system
笔记-Python-language reference-5.the import system 前言 经常用到import,module,对其中的机制及原理有一定的了解,但没有将各种信息前后连通起来 ...
- 笔记-redis安装
笔记-redis安装配置 1. redis安装配置 1.1. windows环境安装 win8已有redis 查看版本:redis-server –version 想更新到5.0.0, ...
- Android 工具类 异常处理类CrashHandler
1.整体分析 1.1.源代码如下,可以直接Copy. public class CrashHandler implements Thread.UncaughtExceptionHandler { pr ...