web-dev-qa-db-ja.com

スレッドに名前を設定する方法は?

コードでスレッドにわかりやすい名前を設定する方法はありますか?

たとえば、イメージのThread-11という名前のスレッドに「MyImportThread」のような名前を付けたいとします。

example-threads

18
Prizoff

以下のように、スレッド名をConstructorで簡単に渡すことができます。

Thread foo = new Thread("Foo");

...または_Thread#setName_を呼び出す:

public final void setName(String threadName)

スレッドの名前を設定します。

thread.setName("Thread-11");または同様のThread.currentThread().setName("Thread-11");

26
AAnkit

Threadコンストラクタ を確認します。_String name_パラメータを持つものがあります。または、既存のスレッドでsetName(String)を呼び出すことができます。

8
kcoppock

このようなことを試しましたか?

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

Threads reference 特にコンストラクタで。

5
Simon Dorociak

クラス Thread にはそのためのメソッドがあります。

public final void setName (String threadName)

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

やってみましたか?

3
Jonathan Naguin

これを試して:

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

はい、次の方法でスレッドに名前を設定できます。

Thread.getCurrentThread().setName(threadName);
1
Ranjith