Thread.currentThread().getName()
静的とgetName()
特定の Thread インスタンスの違いは何ですか?
質問する
16490 次
3 に答える
7
違いはgetName()
インスタンス メソッドです。つまり、Thread
クラスのインスタンスで動作します。
Thread.getCurrentThread()
クラスまたは静的メソッドです。つまり、インスタンスではThread
なく、そのクラスで動作します。
最終的な違いは次のとおりです。 を呼び出すとThread.currentThread().getName()
、currentThread()
は のインスタンスを返し、そのインスタンスでThread
呼び出すことができgetName()
ます。のインスタンスで呼び出す必要があるため、呼び出すThread.getName()
ことはできません。getName()
Thread
于 2012-04-19T15:27:00.327 に答える
0
Thread.currentThread().getName(...)
method は現在のスレッドgetName(...)
の名前を参照しますが、Thread クラスの任意のインスタンスの名前を参照します。
于 2021-10-01T12:39:30.003 に答える
0
しかし、まったく逆に、 Thread.currentThread() は現在の Thread インスタンスを返します。したがって、答えは次のとおりです。2 つの関数は同じスレッドから同じです。これを試してください:
Thread nuThread = new Thread("Proba"){
@Override
public void run() {
System.out.println(this.getName());
Thread other = Thread.currentThread();
System.out.println(other.getName());
System.out.println(this==other ? "Same object":"Different object");
}
};
nuThread.start();
try {
nuThread.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
于 2018-09-04T18:08:57.743 に答える