如何为线程设置名称?

25

有没有一种方法可以在代码中为线程设置友好名称?

例如,我希望图像上名为Thread-11的线程被命名为类似"MyImportThread"的名称。

example-threads


是的.. 这是一个非常愚蠢的问题,但我有点困惑该怎么做... :) 感谢回答,我甚至不知道哪个是正确的 :) - Prizoff
6个回答

40
您可以在其构造函数中轻松传递线程名称,例如: Thread foo = new Thread("Foo"); ... 或通过调用Thread#setName来设置线程名称: public final void setName (String threadName)
设置线程的名称。
例如thread.setName("Thread-11");或类似Thread.currentThread().setName("Thread-11");

8

请检查Thread构造函数,其中有几个带有String name参数的。或者您可以对现有的线程调用setName(String)


7
你是否尝试过像这样的方法?
Thread.currentThread().setName("MyThread");

请参考线程参考,特别是构造函数部分。


3
线程(Thread) 有一个相关的方法:
public final void setName (String threadName)

Since: API Level 1
Sets the name of the Thread.

你尝试过吗?

3

试试这个:

Thread thread = new Thread("MyImportThread") {
      public void run(){    
        // code
      }
   };
   thread.start();
   System.out.println(thread.getName());

2

是的,您可以使用以下代码为线程设置名称:

Thread.getCurrentThread().setName(threadName);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接