5

threadsJava スレッド モデル APIについて 1 つ読んだことがあります。複数のスレッドが同じ名前を持つことができると言います。しかし、各スレッドの PID は一意になりますよね? じゃあ名前は?スレッドのクラス名ではないですか?

4

3 に答える 3

8

名前は何ですか?スレッドのクラス名ではありませんか?

名前は、使用するように設定したものですThread.setName。あくまでも診断目的です。コンストラクターに名前を呼び出したり提供したりしない場合Thread.setName、値はドキュメントに従って決定されます。

新しい Thread オブジェクトを割り当てます。Thread (null, null, gname)このコンストラクターは、 gname が新しく生成された名前であると同じ効果があります。自動的に生成される名前の形式は"Thread-"+nです。n は整数です。

(その目的を示す特定のスレッド名を指定する方が、明らかに診断的に役立ちます。)

于 2012-11-25T20:57:37.633 に答える
6

新しいスレッドが作成されると、自動生成された名前が割り当てられます。この名前は - "Thread-0", "Thread-1".

Thread#setName()ただし、次のメソッドを使用して、いつでもスレッドの名前を変更できます。

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

Thread.currentThread()は現在実行中のスレッドへの参照を返し、そのスレッドの名前を に設定します"ABC"

于 2012-11-25T20:58:58.093 に答える
1

いいえ、それはスレッド名です。スレッド ダンプが表示されれば、どのスレッドが正確に何を行っているかがわかります。:)

于 2012-11-25T20:57:45.313 に答える