获取线程名称:
1.使用Thread类中的方法getName()
String getName() 返回该线程的名称,
public class demg_03 extends Thread{//继承线程 @Override public void run() {//重写线程方法 //获取线程名称 String name = getName(); System.out.println(name); } }
class kak{ public static void main(String[] args) { demg_03 d = new demg_03(); //调用start方法,开启新线程,执行run方法 d.start(); //获取多线程 new demg_03().start(); new demg_03().start(); new demg_03().start(); } }
运行结果:
2.可以先获取到当前正在执行的线程,使用线程中的方法getName()获取线程的名称
static Thread currentThread() 返回对当前正在执行的线程对象的引用
public class demg_03 extends Thread{//继承线程 @Override public void run() {//重写线程方法 //获取线程名称 String name = getName(); System.out.println(name); // 获取当前正在执行的线程 Thread thread = Thread.currentThread(); System.out.println(thread); //链式编程 // System.out.println(Thread.currentThread().getName()); } }
//主方法 class kak{ public static void main(String[] args) { demg_03 d = new demg_03(); //调用start方法,开启新线程,执行run方法 d.start(); //获取多线程 new demg_03().start(); new demg_03().start(); new demg_03().start(); } }
运行结果:
链式编程
public class demg_03 extends Thread{//继承线程 @Override public void run() {//重写线程方法 //获取线程名称 // String name = getName(); // System.out.println(name); // //// 获取当前正在执行的线程 // Thread thread = Thread.currentThread(); // System.out.println(thread); //链式编程 System.out.println(Thread.currentThread().getName()); } }
class kak{ public static void main(String[] args) { demg_03 d = new demg_03(); //调用start方法,开启新线程,执行run方法 d.start(); //获取多线程 new demg_03().start(); new demg_03().start(); new demg_03().start(); //链式编程 System.out.println(Thread.currentThread().getName());//获取主线程 } }
运行结果: