一,获取线程的名称
1.使用Thread类的getName()方法
String getName() //返回该线程的名称。
2.可以先获取到当前正在执行的线程,使用线程的方法getName()获取名称
static Thread currentThread() //返回对当前正在执行的线程对象的引用。
线程的名称:
主线程:main
新线程:Thread-0, Thread-1, Thread-2,
1.使用Thread类的getName()方法
String getName() //返回该线程的名称。
public class MyThread1 extends Thread{
public void run(){
//获取线程名称
String name = this.getName();
System.out.println(name);
}
}
2.可以先获取到当前正在执行的线程,再使用线程的方法getName()获取名称
static Thread currentThread() //返回对当前正在执行的线程对象的引用。
public class MyThread1 extends Thread{
public void run(){
//获取线程名称
Thread t = Thread.currentThread();
System.out.println(Thread.currentThread().getName());
}
}
Main
public class Demo03MyThread {
public static void main(String[] args) {
//创建Thread类的子类对象
MyThread1 mt = new MyThread1();
mt.start();
new MyThread1().start();
//主方法必须使用第二种方法获取名称
System.out.println(Thread.currentThread().getName());
}
}

注意:主方法必须使用第二种方法获取名称
二,设置线程名称的方法
设置线程的名称:(了解)
1.使用Thread类中的方法setName(名字)
void setName(String name) 改变线程名称,使之与参数 name 相同。
2.创建一个带参数的构造方法,参数传递线程的名称;调用父类的带参构造方法,把线程名称传递给父类,让父类(Thread)给子线程起一个名字
Thread(String name) 分配新的 Thread 对象。
MyThread2.java
public class MyThread2 extends Thread{
public MyThread2(){}
public MyThread2(String name){
super(name);
}
public void run(){
System.out.println(Thread.currentThread().getName());
}
}
Demo.java
public class Demo04MyThread {
public static void main(String[] args) {
//开启多线程
MyThread2 mt1 = new MyThread2();
mt1.setName("老八");
mt1.start();
//开启多线程
MyThread2 mt2 = new MyThread2("giao");
mt2.start();
}
}

三,sleep
public static void sleep(long millis) :使当前正在执行的线程以指定的毫秒数暂停(暂时停止执行)。
模拟秒表
public class Demo05MyThread {
public static void main(String[] args) throws InterruptedException {
//模拟秒表
for (int i = 0; i <= 60; i++) {
System.out.println(i);
//使用Thread类的sleep方法,让程序睡眠一秒钟
Thread.sleep(1000);
}
}
}

本文详细介绍了如何在Java中获取和设置线程名称,包括使用Thread类的getName()和setName()方法,以及通过Thread.currentThread()获取当前线程。此外,还展示了如何利用sleep()方法进行线程暂停,模拟秒表功能。
139

被折叠的 条评论
为什么被折叠?



