zoukankan      html  css  js  c++  java
  • 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()的话会报错空指针异常。

  • 相关阅读:
    @controller和@restController注解详解
    customer.sql
    jsp自定义标签
    git常用命令
    dubbo问题
    idea maven项目的移除添加
    bean type not found
    利率配置修改时选中下拉框时,加alert选中,否则不选中
    Vmware文件类型
    抖音平台分析
  • 原文地址:https://www.cnblogs.com/mhlsky/p/13848870.html
Copyright © 2011-2022 走看看