如何在Java中获取和设置线程名称?
如何在Java中获取和设置线程名称?
Java中的每个线程都有一些唯一的名称。它可以由开发人员(用户定义)提供,也可以由JVM(JVM定义)生成的默认名称(如果用户未定义)提供。
我们可以通过使用Thread类的方法来获得Thread的名称:publicfinalStringgetName()
;
我们可以使用Thread类的方法设置线程的名称:publicfinalvoidsetName(Stringname);
示例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(Stringstr)更改为parent