如何给线程起名字呢?

简介: 法一:通过无参构造+setXxx()给线程起名字 1 package cn.itcast_03; 2 3 /* 4 * 5 * Thread类的方法: 6 * public final String getName() 获取线程对象的名称(放在需...

法一:通过无参构造+setXxx()给线程起名字

 1 package cn.itcast_03;
 2 
 3 /*
 4  * 
 5  * Thread类的方法:
 6  *         public final String getName() 获取线程对象的名称(放在需要被线程执行的代run()方法里面)
 7  *         public final void setName(String name) 设置线程对象的名称
 8  */
 9 public class MyThreadDemo {
10     public static void main(String[] args) {
11         // 创建线程对象
12         // 通过无参构造方法+setXxx()方法线程起名字
13         MyThread my1 = new MyThread();
14         MyThread my2 = new MyThread();
15         // 调用方法设置名称
16         my1.setName("林青霞");
17         my2.setName("刘意");
18         my1.start();
19         my2.start();
20     }
21 }
 1 package cn.itcast_03;
 2 
 3 public class MyThread extends Thread {
 4     // 需要被线程执行的代码
 5     @Override
 6     public void run() {
 7         for (int x = 0; x < 100; x++) {
 8             System.out.println(getName() + ":" + x);
 9         }
10     }
11 }

法二:通过带参构造方法给线程起名字

 1 package cn.itcast_03;
 2 
 3 /*
 4  * 
 5  * Thread类的方法:
 6  *         public final String getName() 获取线程对象的名称(放在需要被线程执行的代run()方法里面)
 7  *         public final void setName(String name) 设置线程对象的名称
 8  */
 9 public class MyThreadDemo {
10     public static void main(String[] args) {
11         // 创建线程对象
12         // 通过带参构造方法给线程起名字
13         MyThread my1 = new MyThread("林青霞");
14         MyThread my2 = new MyThread("刘意");
15         my1.start();
16         my2.start();
17     }
18 }
 1 package cn.itcast_03;
 2 
 3 public class MyThread extends Thread {
 4     public MyThread() {
 5         super();
 6     }
 7 
 8     public MyThread(String name){
 9         super(name);
10     }
11     // 需要被线程执行的代码
12     @Override
13     public void run() {
14         for (int x = 0; x < 100; x++) {
15             System.out.println(getName() + ":" + x);
16         }
17     }
18 }

 

我的GitHub地址: https://github.com/heizemingjun
我的博客园地址: http://www.cnblogs.com/chenmingjun
我的蚂蚁笔记博客地址: http://blog.leanote.com/chenmingjun
Copyright ©2018 黑泽明军
【转载文章务必保留出处和署名,谢谢!】
相关文章
|
SQL 数据处理 数据库
SQL进阶之路:深入解析数据更新与删除技巧——掌握批量操作、条件筛选、子查询和事务处理,提升数据库维护效率与准确性
【8月更文挑战第31天】在数据库管理和应用开发中,数据的更新和删除至关重要,直接影响数据准确性、一致性和性能。本文通过具体案例,深入解析SQL中的高级更新(UPDATE)和删除(DELETE)技巧,包括批量更新、基于条件的删除以及使用子查询和事务处理复杂场景等,帮助读者提升数据处理能力。掌握这些技巧能够有效提高数据库性能并确保数据一致性。
379 0
|
Java 容器
RestTemplate报错I/O error on POST request for "http://crmjob.xxx.xxx.com/removeJob": Read timed out; nested exception is java.net.SocketTimeoutException: Read timed out问题处理
讲述RestTemplate报错I/O error on POST request for "http://crmjob.xxx.xxx.com/removeJob": Read timed out; nested exception is java.net.SocketTimeoutException: Read timed out处理方案
|
缓存 IDE Java
Idea里开发遇到所有项目的所有代码爆红的问题与解决
在Idea中,用户意外遇到所有项目代码显示错误但能正常运行的问题。尝试清理缓存、更改编码和切换JDK等方法无效。最终解决方案是检查并移除Maven的.class文件忽略设置:进入File--Editor--File Types,确保Ignore files and folders列表中没有配置为忽略*.class文件。移除后,IDE重新索引,红色错误提示消失。
2131 1
|
Java
多线程必考的「生产者 - 消费者」模型,看齐姐这篇文章就够了
生产者 - 消费者模型 Producer-consumer problem 是一个非常经典的多线程并发协作的模型,在分布式系统里非常常见。也是面试中无论中美大厂都非常爱考的一个问题,对应届生问的要少一些,但是对于有工作经验的工程师来说,非常爱考。 这个问题有非常多的版本和解决方式,在本文我重点是和大家壹齐理清思路,由浅入深的思考问题,保证大家看完了都能有所收获。
2394 1
多线程必考的「生产者 - 消费者」模型,看齐姐这篇文章就够了
|
Java 索引 SQL
深入浅出带你了解JVM中的OQL
OQL (Object Query Language)类似于 SQL 的查询语言,可以方便在堆中进行对象的查找和 筛选。 语法 select [from[instanceof] ][where ] select * from com.
3865 0
|
2天前
|
存储 关系型数据库 分布式数据库
PostgreSQL 18 发布,快来 PolarDB 尝鲜!
PostgreSQL 18 发布,PolarDB for PostgreSQL 全面兼容。新版本支持异步I/O、UUIDv7、虚拟生成列、逻辑复制增强及OAuth认证,显著提升性能与安全。PolarDB-PG 18 支持存算分离架构,融合海量弹性存储与极致计算性能,搭配丰富插件生态,为企业提供高效、稳定、灵活的云数据库解决方案,助力企业数字化转型如虎添翼!
|
13天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1284 5