A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Kevin.Kang 高级黑马   /  2015-8-5 17:54  /  223 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. package com.kxg_04;

  2. /*
  3. * 线程组:把多个线程组合到一起
  4. *                 可以对一批线程进行分类管理,java允许程序直接对线程进行控制
  5. */
  6. public class ThreadGroupDemo {
  7.         public static void main(String[] args) {
  8.                 // 查看线程的默认线程组
  9.                 group1();

  10.                 // 设置一个线程组,把线程添加进去
  11.                 group2();

  12.         }

  13.         private static void group2() {
  14.                 // 创建线程组
  15.                 ThreadGroup tg = new ThreadGroup("自定义线程组");

  16.                 // 创建对象
  17.                 MyRunnable mr = new MyRunnable();

  18.                 // 创建线程,并把线程添加到线程组中
  19.                 Thread t1 = new Thread(tg, mr);
  20.                 Thread t2 = new Thread(tg, mr);

  21.                 System.out.println(t1.getThreadGroup().getName());
  22.                 System.out.println(t2.getThreadGroup().getName());

  23.                 // 设置次组中的线程全为后台线程
  24.                 tg.setDaemon(true);
  25.         }

  26.         private static void group1() {
  27.                 // 创建对象
  28.                 MyRunnable mr = new MyRunnable();

  29.                 // 创建线程
  30.                 Thread t1 = new Thread(mr);
  31.                 Thread t2 = new Thread(mr);

  32.                 // public final ThreadGroup getThreadGroup():返回该线程所属的线程组
  33.                 ThreadGroup tg1 = t1.getThreadGroup();
  34.                 ThreadGroup tg2 = t2.getThreadGroup();

  35.                 // public final String getName():返回此线程组的名称
  36.                 String name1 = tg1.getName();
  37.                 String name2 = tg2.getName();

  38.                 System.out.println(name1);// main
  39.                 System.out.println(name2);// main

  40.                 // 线程默认情况属于main线程组
  41.                 System.out.println(Thread.currentThread().getName());
  42.         }
  43. }
复制代码
  1. package com.kxg_04;

  2. public class MyRunnable implements Runnable {

  3.         @Override
  4.         public void run() {
  5.                 for (int i = 0; i < 100; i++) {
  6.                         System.out.println(Thread.currentThread().getName() + ":" + i);
  7.                 }
  8.         }
  9. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马