Как установить имя для потока?

Есть ли способ установить понятное имя для потока в коде?

Например, я хочу, чтобы поток с именем Thread-11 на изображении назывался что-то вроде "MyImportThread".

example-threads

Ответ 1

Вы можете легко передать имя потока в его конструкторе, например:

Thread foo = new Thread("Foo");

... или позвонив по телефону Thread#setName:

public final void setName (String threadName)

Устанавливает имя темы.

как thread.setName("Thread-11"); или как Thread.currentThread().setName("Thread-11");

Ответ 2

Проверьте конструкторы Thread, есть несколько с параметром String name. Или вы можете вызвать setName(String) в существующем потоке.

Ответ 3

Вы пробовали что-то подобное?

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

Посмотрите также на Threads reference, особенно на конструкторов.

Ответ 4

Класс Thread имеет метод для этого:

public final void setName (String threadName)

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

Вы попробовали?

Ответ 5

Попробуйте следующее:

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

Ответ 6

Да, вы можете установить имя для темы, используя:

Thread.getCurrentThread().setName(threadName);