一、线程组的用处:
1、 操作线程组可以把线程组里的所有 线程做同样处理。
2、 方便管理,把相同需要放入一个组里
二、使用线程组
1、默认线程的线程组是main线程组里。
public static void method1() {
ThreadRunnable t = new ThreadRunnable();
Thread t1 = new Thread(t,"小兰");
Thread t2 = new Thread(t,"新一");
ThreadGroup tg1 = t1.getThreadGroup();
ThreadGroup tg2 = t2.getThreadGroup();
//默认分组为main组中
System.out.println(tg1.getName()); //main
System.out.println(tg2.getName()); //main
System.out.println(Thread.currentThread().getName()); //main
}
2、自己添加线程组。
private static void method2() {
//创建一个组
ThreadGroup tg = new ThreadGroup("这是一个新的组");
ThreadRunnable tr1 = new ThreadRunnable();
//创建线程时候传入这个参数即可
Thread thread1 = new Thread(tg,tr1,"庄子");
Thread thread2 = new Thread(tg,tr1,"孔子");
// System.out.println(thread1.getThreadGroup());
// System.out.println(thread2.getThreadGroup());
//当都在一个组里时候就可以一起操作了,如下:
thread1.start();
thread2.start();
try {
Thread.sleep(400);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
tg.stop();
// tg.interrupt();
}
注意:线程组无法一起start的。可以一起stop,interrupt和设置相关属性。