Java多线程:设置和获取线程名称
文章目录
- 设置和获取线程名称
- API介绍
- 综合案例
设置和获取线程名称
API介绍
我们可以通过调用设置线程名称的API进行设置
方法名 | 说明 |
---|---|
void setName(String name) | 将此线程的名称更改为等于参数name |
String getName() | 返回此线程的名称 |
Thread currentThread() | 返回对当前正在执行的线程对象的引用 |
例如:
public class MyThread extends Thread {public MyThread() {}public MyThread(String name) {super(name);}@Overridepublic void run() {for (int i = 0; i < 100; i++) {System.out.println(getName()+":"+i);}}}public class MyThreadDemo {public static void main(String[] args) {MyThread my1 = new MyThread();MyThread my2 = new MyThread();//void setName(String name):将此线程的名称更改为等于参数 namemy1.setName("Tinge");my2.setName("Mingo");my1.start();my2.start();}}
也可以通过调用构造函数时,传入线程名,再调用父类的super(name);
将线程名传进去
public class MyThread extends Thread {public MyThread() {}public MyThread(String name) {super(name);}@Overridepublic void run() {for (int i = 0; i < 100; i++) {System.out.println(getName()+":"+i);}}}public class MyThreadDemo {public static void main(String[] args) {//Thread(String name)MyThread my1 = new MyThread("Tinge");MyThread my2 = new MyThread("Mingo");my1.start();my2.start();}}
二者运行效果均如下(结果不一定相同):
同时也可以调用currentThread()
函数查看当前线程对象的信息
//static Thread currentThread() 返回对当前正在执行的线程对象的引用
System.out.println(Thread.currentThread().getName());
综合案例
package com.test;import java.io.IOException;
import java.io.InputStream;
import java.util.*;class ManThread extends Thread {public ManThread() {}public ManThread(String name) {super(name);}@Overridepublic void run() {System.out.println("当前男孩是:"+Thread.currentThread().getName()+"在表白!");for (int i = 0; i < 5; i++) {System.out.println(getName()+"跟女孩表白:"+(i+1)+"次");}}
}class WomenThread extends Thread {public WomenThread() {}public WomenThread(String name) {super(name);}@Overridepublic void run() {System.out.println("当前女孩是:"+Thread.currentThread().getName()+"在接收表白!");}
}class MyThreadDemo {public static void main(String[] args) {ManThread my1 = new ManThread();ManThread my2 = new ManThread();//void setName(String name):将此线程的名称更改为等于参数 namemy1.setName("Tinge");my2.setName("Mingo");my1.start();my2.start();WomenThread my3 = new WomenThread("蔷薇");WomenThread my4 = new WomenThread("莫妮倩");my3.start();my4.start();System.out.println("当前主线程是:"+Thread.currentThread().getName());}
}
运行结果如下:
Java多线程:设置和获取线程名称相关推荐
- java里新建线程设置线程名字_多线程开发不得不掌握,设置和获取线程名称及JVM如何运行的...
原标题:多线程开发不得不掌握,设置和获取线程名称及JVM如何运行的 欲善编程,多看.多敲.多讨论:动眼.动手.动大脑. 1 如何设置和获取线程名称 多线程的运行状态是不确定的,在程序开发过程中,想要获 ...
- 集合到文件 文件到集合 点名器 集合到文件数据排序版 标准输入流 打印流 对象序列化流 对象返序列化流 Properties 游戏次数 进程和线程 线程 多线程的实现方式 设置和获取线程名称
文章目录 集合到文件 文件到集合 点名器 集合到文件数据排序版 标准输入流 打印流 对象序列化流 对象返序列化流 Properties 游戏次数 进程和线程 线程 多线程的实现方式 设置和获取线程名称 ...
- java 多线程,及获取线程执行结果
2019独角兽企业重金招聘Python工程师标准>>> Thread.Runnable 创建多线程 new Thread(new Runnable() {public void ru ...
- 实现多线程、进程、线程、设置和获取线程名称、线程调度、线程控制、线程生命周期、同步代码块、线程安全的类、Lock锁、生产者消费者模式
实现多线程:
- 获取线程名称 java 1615387415
获取线程名称 java 1615387415 多个线程一起跑的时候 有三个线程的运行 结果 无法明确子线程是哪个子线程的操作结果 获取与修改线程名称 演示 在线程的方法中 结果 获取当前线程对象 先获 ...
- 线程id 获取线程名称_016 线程及初步网络编程
涉及内容:多线程的安全问题.线程的优先级.暂停线程的执行.线程同步.死锁和死锁的解决办法.生产者消费者模式的实现.网络编程三要素.IP端口及Socket的含义 1. 获取线程基本信息的方法 (1) 获 ...
- Java多线程系列(五):线程池的实现原理、优点与风险、以及四种线程池实现
为什么需要线程池 我们有两种常见的创建线程的方法,一种是继承Thread类,一种是实现Runnable的接口,Thread类其实也是实现了Runnable接口.但是我们创建这两种线程在运行结束后都会被 ...
- Java 多线程(三) 线程的生命周期及优先级
Java 多线程(三) 线程的生命周期及优先级 线程的生命周期 线程的生命周期:一个线程从创建到消亡的过程. 如下图,表示线程生命周期中的各个状态: 线程的生命周期可以分为四个状态: 1.创建状态: ...
- Java 多线程(八) 线程状态图
Java 多线程(八) 线程状态图 结合多线程的学习过程,介绍线程的状态图,随着学习的深入,这幅图不断加入新的内容. 一.线程基本状态图 这幅图是在Java 多线程(三) 线程的生命周期及优先级出现过 ...
最新文章
- java如何计算时间天数差,java计算两个时间相差天数的方法汇总
- android:scaleType的各个属性解释
- Hadoop的学习路线图
- 谷歌浏览器打开链接,如何不是覆盖当前页面而自动跳转到新标签页?
- FFmpeg的H.264解码器源代码简单分析:解码器主干部分
- android 数据存储之SQLite
- 用matlab作gmm参数估计,GMM模型的EM参数估计算法
- PQ 8.05中文版硬盘物理分区与删除分区(图文详解)
- 《MySQL DBA: InnoDB_doublewrite/ChangeBuffer/AHI/FNP》
- 史玉柱自述:我是如何带队伍的
- 划分离散数学定义_《离散数学》学习记录 - 集合论
- 超级详细Window10安装Java JDK 和配置开发环境
- java 下载另存为_java中如何实现点击下载出现另存为的对话框
- 免杀远程监控软件大盘点
- 基于元胞自动机的城市规划
- 电脑重装系统后wifi间歇性断网该怎么解决
- 共享主机和 WordPress 主机之间的区别
- 查询接口返参配置化组件设计(适用定制信息查询)
- 计算机领域7位入围院士增选!沈向洋、王海峰候选中国工程院院士!
- JS设置CSS样式的几种方式(js设置!important)
热门文章
- python成语游戏代码_Python基础,猜成语小游戏
- ZZNUOJ_C语言1018:奇数偶数(完整代码)
- 《OpenCV3编程入门-毛星云》第一部分 快速上手OpenCV
- 2019高考,高考语文作文试题
- 计算机辅助教育教学方案,计算机辅助教学及设计
- Java字符串之split方法
- 【技术小说连载】新三国外传——草船借箭
- 学tlc和JAVA,SIMULINK_S-Function_TLC_RTW基础(给初学者)
- js数组取最大值最小值,以及小数取整
- 26.5th C/Linux短期班 一点分享与感受+部分爆照