3

私のJavaアプリケーションには、構文を持つさまざまなスレッドがあります

new Thread(this).start();

Code Proを使用して Code Audit を実行すると、次のメッセージが表示されました

Thread declare without a name.

それが何を意味するのか知りたいのですが、宣言を次のように変更しても問題ありません

new Thread(this,this.getName()).start();

それらとその影響の違いは何ですか。前もって感謝します。

4

2 に答える 2

4

これは、デバッグを容易にするために、スレッドに識別名を付ける必要があることを示す Code Pro の丁寧な方法です。それ以上の「影響」はありません。単に優れたプログラミング手法です。これはうまくいくはずです:

new Thread(this, "an identifying name").start();

現在のクラスでthis.getName()返される名前を既に定義している場合にのみ機能することに注意してください。getName()

于 2013-03-20T21:28:39.223 に答える
1

違いは、スレッドの名前がデフォルト名ではなく、ユーザーが指定した名前になったことです。どうやら誰かが、監査を保留するのに十分重要だと考えているようです。私は確かにしません。

于 2013-03-20T21:29:10.157 に答える