线程组
 * 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,设置整组的优先级或者守护线程

  * 线程组的使用,默认是主线程组
public class Demo4_ThreadGroup {
 /**
  * @param args
  * ThreadGroup
  */
 public static void main(String[] args) {
  //demo1();
  ThreadGroup tg = new ThreadGroup("我是一个新的线程组");  //创建新的线程组
  MyRunnable mr = new MyRunnable();      //创建Runnable的子类对象
  
  Thread t1 = new Thread(tg, mr, "张三");     //将线程t1放在组中
  Thread t2 = new Thread(tg, mr, "李四");     //将线程t2放在组中
  
  System.out.println(t1.getThreadGroup().getName());  //获取组名
  System.out.println(t2.getThreadGroup().getName());
  
  tg.setDaemon(true);//  ***********************************************可以将一个组的线程一块处理  
 }
 public static void demo1() {
  MyRunnable mr = new MyRunnable();
  Thread t1 = new Thread(mr, "张三");
  Thread t2 = new Thread(mr, "李四");
  
  ThreadGroup tg1 = t1.getThreadGroup();
  ThreadGroup tg2 = t2.getThreadGroup();
  
  System.out.println(tg1.getName());    //默认的是主线程
  System.out.println(tg2.getName());
 }
}
class MyRunnable implements Runnable {
 @Override
 public void run() {
  for(int i = 0; i < 1000; i++) {
   System.out.println(Thread.currentThread().getName() + "...." + i);
  }
 }
 

最新文章

  1. python serial 获取所有的串口名称
  2. 利用免费cdn加速webpack单页应用
  3. Zero to One读后感
  4. HDU 4734 F(x)
  5. EasyUI Combobox设定默认值
  6. Java事务处理全解析(三)——丑陋的案例
  7. android隐式intent使用场景解析
  8. ReactiveCocoa总结
  9. dnsmasq 设置自动获取主机名
  10. day 08 文件操作
  11. Scala-Unit6-final/type关键字、样例类&amp;样例对象
  12. java动手动脑2
  13. describe命令
  14. Throwable vs Exception
  15. Android JNI与多线程
  16. github安装k8s
  17. css控制两个表格的边线重合
  18. TypeEvaluator 估值器 抛物线
  19. 多媒体开发之rtp 打包发流--- 从h264中获取分辨率
  20. [Erlang01] 使用catch与try catch避免嵌套nest_case

热门文章

  1. java实现上传图片并压缩图片大小功能
  2. 舒服,给Spring贡献一波源码。
  3. laravel 和 tp的区别
  4. laravel 怎么获取public路径
  5. Caffe2源码解析
  6. 13 数组 Java内存分析 三种初始化
  7. LGP5279题解
  8. vue js计算精度问题处理,兼容XP系统
  9. ArcMap操作随记(15)
  10. Java基础——继承的特点