zoukankan      html  css  js  c++  java
  • 线程组


    Java中使用ThreadGroup来表示线程组,它可以对一批线程进行分类管理,Java允许程序直接对线程组进行控制。


    默认情况下,所有的线程都属于主线程组。

    * public final ThreadGroup getThreadGroup()//通过线程对象获取他所属于的组

    * public final String getName()//通过线程组对象获取他组的名字


    我们也可以给线程设置分组

    * 1,ThreadGroup(String name) 创建线程组对象并给其赋值名字

    * 2,创建线程对象

    * 3,Thread(ThreadGroup?group, Runnable?target, String?name)

    * 4,设置整组的优先级或者守护线程


    MyRunnable mr = new MyRunnable();
    Thread t1 = new Thread(mr, "张三");
    Thread t2 = new Thread(mr, "李四");
    //获取线程组
    // 线程类里面的方法:public final ThreadGroup getThreadGroup()
    ThreadGroup tg1 = t1.getThreadGroup();
    ThreadGroup tg2 = t2.getThreadGroup();
    // 线程组里面的方法:public final String getName()
    String name1 = tg1.getName();
    String name2 = tg2.getName();
    System.out.println(name1);
    System.out.println(name2);
    // 通过结果我们知道了:线程默认情况下属于main线程组
    // 通过下面的测试,你应该能够看到,默任情况下,所有的线程都属于同一个组
    System.out.println(Thread.currentThread().getThreadGroup().getName());
    
     

    自己设定线程组

    • // ThreadGroup(String name)
      ThreadGroup tg = new ThreadGroup("这是一个新的组");
      
      MyRunnable mr = new MyRunnable();
      // Thread(ThreadGroup group, Runnable target, String name)
      Thread t1 = new Thread(tg, mr, "张三");
      Thread t2 = new Thread(tg, mr, "李四");
      
      System.out.println(t1.getThreadGroup().getName());
      System.out.println(t2.getThreadGroup().getName());
      
      //通过组名称设置后台线程,表示该组的线程都是后台线程
      tg.setDaemon(true);
      
       
  • 相关阅读:
    实时控制软件第四周作业
    实时控制软件第三次作业-编程作业(更新梯形加速并绘制轨迹)
    实时控制软件第三次作业(编程作业)-更新中
    实时控制软件设计第二周作业-停车场门禁控制系统状态机
    冰球游戏开发日志(四)
    冰球游戏开发日志(三)
    冰球项目开发日志(二)
    冰球项目开发日志(一)
    第四周作业
    第三周作业
  • 原文地址:https://www.cnblogs.com/loaderman/p/6411207.html
Copyright © 2011-2022 走看看