Thread Group介绍

本文介绍了Java中的ThreadGroup类,用于组织线程。ThreadGroup提供了管理线程的方法,如activeCount()、activeGroupCount()等,用于获取活跃线程和子线程组的数量。此外,还介绍了setMaxPriority()用于设置线程组的最大优先级,以及interrupt()和destroy()方法,分别用于中断所有活跃线程和销毁线程组。ThreadGroup在多线程编程中起到关键作用,帮助管理和控制线程的行为。
摘要由CSDN通过智能技术生成

创建ThreadGroup
ThreadGroup(String name);
ThreadGroup(ThreadGroup parent, String name);
创建线程时没有指定ThreadGroup则属于父线程的ThreadGroup。

	public ThreadGroup(String name) {
        this(Thread.currentThread().getThreadGroup(), name);
    }
    public ThreadGroup(ThreadGroup parent, String name) {
        this(checkParentAccess(parent), parent, name);
    }

ThreadGroup API
ThreadGroup 并不能提供对线程的管理,主要功能是对线程进行组织。
int activeCount();
获取group中活跃的线程,只是一个估计值,不能百分百正确。比如调用方法后有线程借结束了生命周期或者新的线程进入都会导致值有偏差。
int activeGroupCount();
获取group中活跃的子group,也是一个估计值。
int getMaxPriority();
获取group的优先级,在group中所有线程的优先级都不能大于group的优先级。
String getName();
获取group名称
ThreadGroup getParent();
获取group的父group,不存在则返回null
void list();
将group中活跃的线程信息全部输出
boolean parentOf(ThreadGroup g)
判断当前group是不是给定group的父group,如果给定的是自己返回也是true;
void setMaxPriority(int pri)
设置group的最大优先级,不能超过父group的最大优先级。改变的不止是当前group的最大优先级,还有所有子group最大优先级一起都会修改。
int enumerate(Thread list[]);
将ThreadGroup中所有活跃的线程全部复制到Thread数组中,并且把子group一起复制。返回的是活跃的线程数,一个预估值。
int enumerate(Thread list[], boolean recurse);
将ThreadGroup中所有活跃的线程全部复制到Thread数组中,recurse=true就把子group一起复制,false就不复制。返回的是活跃的线程数,一个预估值。
int enumerate(ThreadGroup[] list);
将ThreadGroup中所有活跃的子group全部复制到ThreadGroup数组中,并且把子group一起复制。返回的是活跃的子group数,一个预估值。
int enumerate(ThreadGroup[] list, boolean recurse);
将ThreadGroup中所有活跃的子group全部复制到ThreadGroup数组中,recurse=true就把子group一起复制,false就不复制。返回的是活跃的子group数,一个预估值。
void interrupt();
中断整个ThreadGroup中所有active线程,遍历了所有线程,执行线程的interrupt().
void destroy();
销毁ThreadGroup,只是针对ThreadGroup没有一个active线程进行一次destroy标记,并在父group中移除自己。
void setDaemon(boolean daemon);
设置ThreadGroup为守护ThreadGroup,不会影响ThreadGroup中线程的daemon属性,只会在ThreadGroup中没有任何一个active线程的时候自动调用 destroy();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值