JavaSE:与线程的编号和名称有关的方法

1.相关的方法

long getId() 获取调用对象所表示线程的编号
String getName() 获取调用对象所表示的线程的名称
void setName(String name) 设置/修改线程的名称为参数指定的数值
static Thread currentThread() 获取当前正在执行线程的引用

 

2.案例题目

  自定义类,继承Thread类,并重写run方法。

  在run方法中,先打印当前线程的编号和名称,然后将线程的名称修改为"zhangfei"后,

  再次打印编号和名称。

  要求在main方法中,也打印主线程的编号和名称。

代码一

 1 package com.lagou.task18;
 2 
 3 public class ThreadIdNameTest extends Thread {
 4 
 5     public ThreadIdNameTest(String name) {
 6         super(name); // 表示调用父类的构造方法
 7     }
 8 
 9     @Override
10     public void run() {
11         System.out.println("子线程的编号是:" + getId() + ",名称是:" + getName()); // 14  Thread-0 guanyu
12         // 修改名称为"zhangfei"
13         setName("zhangfei");
14         System.out.println("修改后子线程的编号是:" + getId() + ",名称是:" + getName()); // 14  zhangfei
15     }
16 
17     public static void main(String[] args) {
18 
19         ThreadIdNameTest tint = new ThreadIdNameTest("guanyu");
20         tint.start();
21 
22         // 获取当前正在执行线程的引用,当前正在执行的线程是主线程,也就是获取主线程的引用
23         Thread t1 = Thread.currentThread();
24         System.out.println("主线程的编号是:" + t1.getId() + ", 名称是:" + t1.getName());
25     }
26 }

代码二

 1 public class RunnableIdNameTest implements Runnable {
 2     @Override
 3     public void run() {
 4         // 获取当前正在执行线程的引用,也就是子线程的引用
 5         Thread t1 = Thread.currentThread();
 6         System.out.println("子线程的编号是:" + t1.getId() + ", 名称是:" + t1.getName()); // 14 guanyu
 7         t1.setName("zhangfei");
 8         System.out.println("修改后子线程的编号是:" + t1.getId() + ", 名称是:" + t1.getName()); // 14 zhangfei
 9     }
10 
11     public static void main(String[] args) {
12 
13         RunnableIdNameTest rint = new RunnableIdNameTest();
14         //Thread t2 = new Thread(rint);
15         Thread t2 = new Thread(rint, "guanyu");
16         t2.start();
17 
18         // 获取当前正在执行线程的引用,当前正在执行的线程是主线程,也就是获取主线程的引用
19         Thread t1 = Thread.currentThread();
20         System.out.println("主线程的编号是:" + t1.getId() + ", 名称是:" + t1.getName());
21     }
22 }

 3. 运行效果

 代码一

 

 

 

 

 

 

 

 代码二

 

 

 

 

 

posted @ 2021-06-16 16:27  Jasper2003  阅读(260)  评论(0)    收藏  举报