如何设置线程的名称?

时间:2012-07-12 17:53:27

标签: java android multithreading debugging

有没有办法在代码中为线程设置友好名称?

例如,我希望图像上名为Thread-11的线程的名称类似于“MyImportThread”。

example-threads http://s12.postimage.org/3pq9frjct/threadname.png

6 个答案:

答案 0 :(得分:25)

您可以轻松地在其构造函数中传递线程名称,例如:

Thread foo = new Thread("Foo");

...或致电Thread#setName

  

public final void setName(String threadName)

设置线程的名称。

thread.setName("Thread-11");或类似Thread.currentThread().setName("Thread-11");

答案 1 :(得分:8)

检查Thread constructors,其中有一些参数String name。或者您可以在现有主题上调用setName(String)

答案 2 :(得分:5)

你尝试过这样的事吗?

Thread.currentThread().setName("MyThread");

另请注意Threads reference,尤其是构造函数。

答案 3 :(得分:3)

班级Thread有一个方法:

public final void setName (String threadName)

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

你试过吗?

答案 4 :(得分:2)

试试这个:

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

答案 5 :(得分:1)

是..您可以使用

为线程设置名称

Thread.getCurrentThread()的setName(threadName);