我在我的Java应用程序中有各种线程,语法如下:
new Thread(this).start();
当我使用Code Pro进行代码审核时,我收到了以下信息:
Thread declare without a name.
我希望知道这句话的含义,如果我改变声明会有什么影响。
new Thread(this,this.getName()).start();
他们之间有什么不同以及它们的影响。提前感谢。
我在我的Java应用程序中有各种线程,语法如下:
new Thread(this).start();
当我使用Code Pro进行代码审核时,我收到了以下信息:
Thread declare without a name.
new Thread(this,this.getName()).start();
这只是Code Pro礼貌地提醒您,线程应该有一个标识名称,以便在需要调试时更容易。除此之外,它没有任何更多的“影响”,它只是一个好的编程实践。以下代码应该可以工作:
new Thread(this, "an identifying name").start();
getName()
返回的名称时,this.getName()
才能起作用。不同之处在于线程现在具有您指定的名称,而不是默认名称。显然,有人认为这足以使审核搁置。我肯定不这样认为。
new Thread(this.getName())
不会设置Runnable
,所以它可能只适用于扩展Thread
的情况。 - Brendan Long