java-多线程5-线程组
线程组
1 package test; 2 3 /*线程组 4 * 默认情况下,所有线程都是属于主线程组main 5 * 6 * */ 7 8 public class Test01 { 9 public static void main(String[] args) { 10 //method1(); 11 method2(); 12 } 13 14 private static void method2() { 15 // TODO Auto-generated method stub 16 //创建线程组 17 ThreadGroup tg=new ThreadGroup("这是一个新的组"); 18 19 //将线程加入线程组 20 MyRunnable my = new MyRunnable(); 21 Thread t1 = new Thread(tg,my, "线程1"); 22 Thread t2 = new Thread(tg,my, "线程2"); 23 24 //显示 25 System.out.println(t1.getThreadGroup().getName()); 26 27 //通过组名称设置后台线程,表示该组都是守护线程 28 tg.setDaemon(true); 29 } 30 31 private static void method1() { 32 MyRunnable my = new MyRunnable(); 33 34 Thread t1 = new Thread(my, "线程1"); 35 Thread t2 = new Thread(my, "线程2"); 36 37 // 获得线程组 38 ThreadGroup tg1 = t1.getThreadGroup(); 39 ThreadGroup tg2 = t2.getThreadGroup(); 40 41 System.out.println(tg1.getName()); 42 System.out.println(Thread.currentThread().getThreadGroup().getName()); 43 44 } 45 }
1 package test; 2 3 public class MyRunnable implements Runnable{ 4 @Override 5 public void run() { 6 // TODO Auto-generated method stub 7 for(int i=0;i<100;i++){ 8 System.out.println(Thread.currentThread().getName()+": "+i); 9 } 10 } 11 }