5

我们可以更改主线程的名称吗?并在主要方法中

Thread t = Thread.currentThread();  
System.out.println(t);

它打印:

Thread[main,5,main]

- 这里第一个线程名,第二个优先级,第三个是当前线程所属的线程组。

这样对吗?

线程组的第三个参数是什么?

4

2 回答 2

13

来自Thread的 Javadoc

public final void setName(字符串名称)

将此线程的名称更改为等于参数名称。

公共字符串 toString()

返回此线程的字符串表示形式,包括线程的名称、优先级和线程组。


Thread t = Thread.currentThread();
System.out.println(t);
t.setName("new thread name");
System.out.println(t);

印刷

Thread[main,5,main]
Thread[new thread name,5,main]

要更改 ThreadGroup 的名称,您可以使用反射,但这不太可能是一个好主意。

于 2012-09-26T11:43:26.020 回答
-2

获取当前线程名称的正确方法是

System.out.println("Name of Thread is " + Thread.currentThread().getName());

其中currentThread()是Thread类的一个静态方法,指的是当前正在执行的线程;getName() 是给出该线程名称的函数。

于 2016-04-03T06:16:12.790 回答