📜  在Java中命名线程并获取当前线程的名称(1)

📅  最后修改于: 2023-12-03 15:07:53.701000             🧑  作者: Mango

在Java中命名线程并获取当前线程的名称

在Java中,每个线程都有自己的名字,可以为线程指定一个特定的名字,在代码调试和分析中非常有用。

为线程命名

为了为线程命名,可以使用 Thread 类的 setName() 方法,如下所示:

Thread.currentThread().setName("my-thread-name");

上述代码将当前线程的名称设置为“my-thread-name”。除此之外,还可以在创建线程的时候指定线程名,如下所示:

Thread myThread = new Thread("my-thread");
获取线程名称

获取线程名称也很简单,只需要调用 Thread 类的 getName() 方法即可,如下所示:

String threadName = Thread.currentThread().getName();

上述代码将当前线程的名称存储在 threadName 变量中。

示例程序

以下是一个示例程序,展示了如何为线程命名并获取线程名称:

public class MyThread implements Runnable {
   public void run() {
       System.out.println("Current thread name: " + Thread.currentThread().getName());
   }
   
   public static void main(String[] args) {
       Thread.currentThread().setName("main-thread");
       MyThread myThread = new MyThread();
       Thread thread = new Thread(myThread, "my-thread");
       thread.start();
       System.out.println("Main thread name: " + Thread.currentThread().getName());
   }
}

上述代码将创建一个名为“my-thread”的线程,并将当前线程的名称设置为“main-thread”。在 run() 方法中,打印当前线程的名称。在 main() 方法中,创建并启动新的线程,并打印主线程的名称。运行上述代码将输出以下内容:

Current thread name: my-thread
Main thread name: main-thread

以上就是如何在Java中命名线程并获取当前线程的名称的介绍。