ThreadGroup详解
①定义线程组
ThreadGroup类中有 2个构造方法,它们用来定义线程组。这 2个构造方法的使用格 式如下:
public ThreadGroup(String name);
public ThreadGroup(ThreadGroup parent,String name);
比如,创建一个名为fruit的线程组k,可用如下语句:
ThreadGroup k=new ThreadGroup(“fruit”);
如果一个线程组有父线程组,则可以在定义时,用第二个构造方法指出父线程组的名字。比如:
ThreadGroup k=new ThreadGroup(products,“fruit”);
②获得线程组中的信息
ThreadGroup类中有几个方法可用来获得线程组中有关线程和子线程的信息,这些信息包括线程组名字、线程组中可运行线程的数目、线程组中线程的最大优先级、线程组中各线程的名字等。这些方法有:
public int activeCount(); // 获得当前线程组中线程数目,包括可运行和不可运行的
public int activeGroupCount(); //获得当前线程组中活动的子线程组的数目
public int enumerate(Thread list[]); //列举当前线程组中的线程
public int enumerate(ThreadGroup list[]); //列举当前线程组中的子线程组
public final int getMaxPriority(); //获得当前线程组中最大优先级
public final String getName(); //获得当前线程组的名字
public final ThreadGroup getParent(); //获得当前线程组的父线程组
public boolean parentOf(ThreadGroup g); //判断当前线程组是否为指定线程的父线程
public boolean isDaemon(); //判断当前线程组中是否有监护线程
public void list(); //列出当前线程组中所有线程和子线程名
③对线程组操作
ThreadGroup类中的方法都是以线程组为操作目标的。其中,包括设置线程组中线程的最大优先级方法、将线程组中所有线程挂起或恢复到可运行状态的方法、终止线程组中所有线程的方法等。对线程组进行操作的方法如下所示:
public final void resume(); //使被挂起的当前组内的线程恢复到可运行状态
public final void setDaemon (boolean daemon); //指定一个线程为当前线程组的监护线程
public final void setMaxPriority(int pri); //设置当前线程组允许的最大优先级
public final void stop();//终止当前线程组中所有线程
public final void suspend(); //挂起当前线程组中所有线程
public String toStrinng(); //将当前线程组转换为String类的对象
ThreadGroup详解的更多相关文章
- “全栈2019”Java多线程第十三章:线程组ThreadGroup详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- “全栈2019”Java多线程第十二章:后台线程setDaemon()方法详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- 线程组ThreadGroup分析详解 多线程中篇(三)
线程组,顾名思义,就是线程的组,逻辑类似项目组,用于管理项目成员,线程组就是用来管理线程. 每个线程都会有一个线程组,如果没有设置将会有些默认的初始化设置 而在java中线程组则是使用类ThreadG ...
- JAVA线程池原理详解二
Executor框架的两级调度模型 在HotSpot VM的模型中,JAVA线程被一对一映射为本地操作系统线程.JAVA线程启动时会创建一个本地操作系统线程,当JAVA线程终止时,对应的操作系统线程也 ...
- 异常处理器详解 Java多线程异常处理机制 多线程中篇(四)
在Thread中有异常处理器相关的方法 在ThreadGroup中也有相关的异常处理方法 示例 未检查异常 对于未检查异常,将会直接宕掉,主线程则继续运行,程序会继续运行 在主线程中能不能捕获呢? 我 ...
- Java线程创建形式 Thread构造详解 多线程中篇(五)
Thread作为线程的抽象,Thread的实例用于描述线程,对线程的操纵,就是对Thread实例对象的管理与控制. 创建一个线程这个问题,也就转换为如何构造一个正确的Thread对象. 构造方法列表 ...
- Java多线程——多线程方法详解
本系列文章是Java多线程的详解介绍,对多线程还不熟悉的同学可以先去看一下我的这篇博客Java基础系列3:多线程超详细总结,这篇博客从宏观层面介绍了多线程的整体概况,接下来的几篇文章是对多线程的深入剖 ...
- Java学习笔记 线程池使用及详解
有点笨,参考了好几篇大佬们写的文章才整理出来的笔记.... 字面意思上解释,线程池就是装有线程的池,我们可以把要执行的多线程交给线程池来处理,和连接池的概念一样,通过维护一定数量的线程池来达到多个线程 ...
- InheritableThreadLocal详解
InheritableThreadLocal详解 https://www.jianshu.com/p/94ba4a918ff5 InheritableThreadLocal——父线程传递本地变 ...
随机推荐
- Redis数据迁移方案
场景 Redis实例A ---> Redis实例B,整库全量迁移 方案一: mac环境 brew install npm npm install redis-dump -g 针对RedisA: ...
- css远距离链接
远距离链接主要运用了hover伪类,但是运用了两次 <!DOCTYPE html> <html lang="en"> <head> <me ...
- stl1
#include<iostream> #include<map> #include<string> using namespace std; map<st ...
- 老李分享: Oracle Performance Tuning Overview 翻译下
1.2性能调优特性和工具 Effective data collection and analysis isessential for identifying and correcting perfo ...
- C# CodeFirst编程模型一
定义实体类型: 定义两个实体Menu和MenuCard,一个menu关联一个menucard,menucard包含对所有menu的引用. public class Menu { public int ...
- jmeter JDBC 连接数据库
1.添加JDBC Connection Configuration 2.添加JDBC Request 3.添加查看结果树 4. 设置下列参数:Database URL:jdbc:mysql://hos ...
- [UWP]了解模板化控件(5):VisualState
1. 功能需求 使用TemplatePart实现上篇文章的两个需求(Header为空时隐藏HeaderContentPresenter,鼠标没有放在控件上时HeaderContentPresent半透 ...
- 【one day one linux】linux下的软件包管理工具
Linux 下的软件包管理工具 linux下的软件安装可以通过两种方式,一种是直接使用自带的软件包管理工具安装,另外一种通过编译源码安装. 1.软件包的种类 Red Hat和Fedora:redhat ...
- redis skiplist (跳跃表)
redis skiplist (跳跃表) 概述 redis skiplist 是有序的, 按照分值大小排序 节点中存储多个指向其他节点的指针 结构 zskiplist 结构 // 跳跃表 typede ...
- cookie,session,token的定义及区别
参考了很多文章总结的. 1.cookie(储存在用户本地终端上的数据) 服务器生成,发送给浏览器,浏览器保存,下次请求同一网站再发送给服务器. 2.session(会话) a.代表服务器与浏览器的一次 ...