如何在Java中获取和设置线程名称?

如何在Java中获取和设置线程名称?

  • Java中的每个线程都有一些唯一的名称。它可以由开发人员(用户定义)提供,也可以由JVM(JVM定义)生成的默认名称(如果用户未定义)提供。

  • 我们可以通过使用Thread类的方法来获得Thread的名称:public final String getName();

  • 我们可以使用Thread类的方法设置线程的名称:public final void setName(String name);

示例1:获取线程的名称

class GetName{
	public static void main(String[] args){
		String tn = Thread.currentThread().getName();
		System.out.println(tn);
	}
}

输出:

E:\javasource>java GetName
main

在这里, Thread.currentThread()。getName()-currentThread()是Thread类的静态方法。这样,我们可以获得当前正在执行的线程,getName()并将给出线程的名称。

示例2:设置线程名称

class SetName{
	public static void main(String[] args){
		Thread.currentThread().setName("main is changed to parent");
		System.out.println(Thread.currentThread().getName());
	}
}

输出结果

E:\javasource>java SetName
main is changed to parent

在这里,Thread.currentThread()。setName(“ main更改为parent”)-当前线程是main线程,因此main的名称被main替换,通过方法setName(String str)更改为parent