java线程组

线程组、阻塞队列、线程池、这点只看,确实有点看不下去,博主也是费劲了,额,学会了还不难。真J恶心,不过不都是如此嘛,没有接触过的就会畏难。反正是笨就对了哈哈。
一、线程组:
可以把线程归属到某一个线程组中,线程组中可以有线程对象,也可以有线程组,组中还可以用线程。这样的组织结构有点类似于树的形式。在这里插入图片描述
多线程中,为了方便管理一批线程,我们使用ThreadGroup来表示线程组,通过它对一批线程进行分类管理 。(默认情况下,A线程创建的线程B,B线程是属于A线程的线程组的。) 线程组的管理类似于树,都属于system的根,  如果没有指定,默认创建的线程的线程组是当前线程所处的线程组;如果创建一个线程组没有指定,线程组的父线程组默认是当前线程锁处的线程组。 线程组的作用是,可以批量的管理线程或者线程组对象,有效地对线程或线程组对象进行组织。

1、Thread类提供几个构造器来创建新的线程属于哪个线程组:
Thread(ThreadGroup group,Runnable target):以target的run()方法为线程执行提创建新线程,新线程属于线程组group。
Thread(ThreadGroup group,Runnable target,String name):以target的run()方法为线程执行提创建新线程,并且输入group线程组,新线程名字为name。
Thread(ThreadGroup,String name):创建新线程,属于group线程组,新线程名字为name。
在这里插入图片描述
2、ThreadGroup类的简单构造器以及几个常用方法:
ThreadGroup(String name):创建名为name的新线程组。

    ThreadGroup(ThreadGroup parent,String name):创建指定父线程组,名为name的新线程组。

    int activeCount():返回此线程组中活动线程的数目。

    interrupt():中断此线程组中所有的线程。

    isDaemon():判断此线程组是否为后台线程。

    setDaemon(boolean daemon):设置线程组为后台线程(当后台线程组中最后一个线程执行完成活着最后一个线程被销毁,后台线程将自动销毁)。

    setMaxPriority(int prio):设置线程组的最高优先级。

getParent(): 根线程组是system,如果继续获取system.getParent()的话会报错空指针异常。

posted @ 2020-03-06 13:17  梦里飞Mhlsky  阅读(58)  评论(0编辑  收藏  举报