開始の名前を変更する方法はありますか、Thread
またはThread.setName(String name)
スレッド初期化ブロックでのみ使用できますか?
質問する
160 次
3 に答える
8
この関数はsetName(String name);と呼ばれます。
Thread t = new Thread(...);
t.start();
t.setName("...");
于 2012-06-02T18:48:56.873 に答える
6
SecurityManagerで許可されている限り、元のスレッドへの参照が残っているコードの任意の部分に設定できます。
于 2012-06-02T18:49:35.787 に答える
0
スレッド名は、スレッド オブジェクトをインスタンス化するときに設定できます。Thread.currentThread().setName
public class NamedThreadExample implements Runnable {
public static final String THREAD_NAME_GOES_HERE = "Original Name";
public static final String NEW_THREAD_NAME_GOES_HERE = "New Name";
public void run() {
System.out.println("I am a Thread and my name is "
+ Thread.currentThread().getName());
Thread.currentThread().setName(NEW_THREAD_NAME_GOES_HERE);
System.out.println("I am a Thread and my name is "
+ Thread.currentThread().getName());
}
public static void main(String args[]) {
(new Thread(new NamedThreadExample(), THREAD_NAME_GOES_HERE)).start();
}
}
出力の生成
I am a Thread and my name is Original Name
I am a Thread and my name is New Name
http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Thread.html#Thread%28java.lang.Runnable,%20java.lang.String%29を参照してください。
于 2012-06-02T19:02:42.407 に答える