zoukankan      html  css  js  c++  java
  • 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类的对象 
    
  • 相关阅读:
    vue-router HTML5 History 模式(转自官网)
    使用fastjson解析数据后导致顺序改变问题
    Mybatis一对多或多对多只能查出一条数据解决策略
    mybatis 学习教程
    Mybatis根据List批量查询List结果
    @Param注解的用法解析
    关于mybatis使用小于号大于号出错的解决方案
    if test表达式逻辑判断不能用&&
    MyBatis中传入参数parameterType类型详解
    MyBatis 判断条件为等于的问题
  • 原文地址:https://www.cnblogs.com/wxgblogs/p/5420132.html
Copyright © 2011-2022 走看看