线程组

Java中使用ThreadGroup来表示线程组,它可以对一批线程进行分类管理,Java允许程序直接对线程组进行控制。
默认情况下,所有的线程都属于主线程组。
    public final ThreadGroup getThreadGroup()
我们也可以给线程设置分组
    Thread(ThreadGroup group, Runnable target, String name) 

package com.shujia.day20;

/*
    线程组:ThreadGroup

 */
class MyThread1 extends Thread {

    MyThread1(){

    }

    public MyThread1(ThreadGroup group, String name) {
        super(group, name);
    }

    @Override
    public void run() {
        for (int i = 1; i <= 10; i++) {
            System.out.println(getName() + " - " + i);
        }
    }
}


public class ThreadGroupDemo1 {
    public static void main(String[] args) {
        //ThreadGroup(String name)
        //构造一个新的线程组。
        ThreadGroup tg1 = new ThreadGroup("帅哥组");

//        MyThread1 t1 = new MyThread1();
//        t1.setName("魏一民");
        //Thread(ThreadGroup group, String name)
        //分配一个新的 Thread对象。
        MyThread1 t1 = new MyThread1(tg1, "魏一民");
        MyThread1 t2 = new MyThread1(tg1, "陈真");
        String n1 = t1.getThreadGroup()  // 获取当前线程所在的线程组
                .getName();// ThreadGroup中的方法,获取当前线程组的名字

        String n2 = t2.getThreadGroup().getName();
        System.out.println(t1.getName()+" 所在 "+n1+" 组中");
        System.out.println(t2.getName()+" 所在 "+n2+" 组中");

//        t1.setDaemon(true);
//        t2.setDaemon(true);

        tg1.setDaemon(true);

    }
}
posted @ 2024-08-21 10:25  ていせい  阅读(2)  评论(0编辑  收藏  举报