首页 > 其他分享 >线程组

线程组

时间:2024-08-21 10:27:34浏览次数:11  
标签:group name ThreadGroup 线程 MyThread1 public

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);

    }
}

标签:group,name,ThreadGroup,线程,MyThread1,public
From: https://www.cnblogs.com/qiwei-bigdata/p/18371093

相关文章

  • 在.NET应用中,使用Parallel类可以显著提高多线程环境下的执行效率
    在.NET应用中,使用Parallel类可以显著提高多线程环境下的执行效率,特别是当你需要并行执行多个不依赖彼此的任务时。Parallel类位于System.Threading.Tasks命名空间中,它提供了一系列静态方法,如Parallel.For、Parallel.ForEach和Parallel.Invoke,以支持并行循环和并行执行任务。1.......
  • 操作集合的工具类:Collections(以及将线程变安全的synchronized方法)
      静态成员方法:    publicstatic<T>voidsort(List<T>list)升序    publicstatic<T>intbinarySearch(List<?>list,Tkey)二分查找    publicstatic<T>Tmax(Collection<?>coll)找最大值    publicstaticvoidreve......
  • 线程(Thread)的使用方法和锁(同步代码块,lock锁)的问题
    多线程:    进程:      正在运行的程序,是系统进行资源分配和调用的独立单位。      每一个进程都有它自己的内存空间和系统资源。      理解:一个正在运行的软件    线程:      是进程中的单个顺序控制流,是......
  • tcp多个客户端访问服务端,运用多线程
    客户端packagecom.shujia.day20.tcpdemo3;importjava.io.InputStream;importjava.io.OutputStream;importjava.net.Socket;importjava.util.Scanner;/*1:建立客户端的Socket服务,并明确要连接的服务器。2:如果连接建立成功,就表明,已经建立了数据传输的通......
  • Java笔试面试题AI答之线程(2)
    文章目录7.如何确保N个线程可以访问N个资源同时又不导致死锁?1.资源排序与顺序访问2.资源分配策略3.避免占用并等待4.引入超时机制5.死锁检测与解决6.使用高级并发工具7.编程实践8.Java方法可以同时即是static又是synchronized的吗?9.什么是Java多线程同步?10......
  • Java线程池详解
    Java线程池详解线程池解释线程池采用了池化思想,能够有效的管理线程的生命周期,减少了每次获取资源的消耗,提高了资源的利用率。类似池化实现还有数据库连接池、HTTP连接池等好处减少了线程创建和销毁的开销提高了响应速度使得线程更加方便管理常见使用场景量大处理时间......
  • 【Redis】Redis线程与IO模型—(三)
    Redis线程与IO模型一、Redis单线程二、多路复用机制三、Redis6.0多线程特性四、IO多线程配置一、Redis单线程通常说Redis是单线程,主要是指Redis的网络IO和键值对读写是由一个线程来完成的,其他功能,比如持久化、异步删除、集群数据同步等,是由额外的线......
  • 多任务进程与线程
    多任务进程与线程一、多任务介绍​ 我们生活中有很多事情是同时进行的,比如开车的时候手和脚共同来驾驶汽车,再比如唱歌跳舞也是同时进行的;用程序来模拟:fromtimeimportsleepdefsing():foriinrange(3):print("正在唱歌...%d"%i)sleep(1)defda......
  • show processlist查看Mysql当前正在运行的线程
    showprocesslistshowprocesslist;--或者SELECTid,db,user,host,command,time,state,infofrominformation_schema.PROCESSLISTWHERE1=1--andcommand!='Sleep'ANDHOSTLIKE'%localhost%'orderbytimedescID定义:每个连......
  • 线程池
    `usingBogus;usingMicrosoft.EntityFrameworkCore;usingMicrosoft.EntityFrameworkCore.Infrastructure;usingMicrosoft.EntityFrameworkCore.Storage;usingMicrosoft.Extensions.DependencyInjection;usingNewtonsoft.Json;usingSystem;usingSystem.Collecti......