主线程的名称

Ame*_*eet 3 java multithreading

我们能改变主线程的名称吗?并在主要方法

Thread t = Thread.currentThread();  
System.out.println(t);
Run Code Online (Sandbox Code Playgroud)

它打印:

Thread[main,5,main]
Run Code Online (Sandbox Code Playgroud)

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

这样对吗?

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

Pet*_*rey 11

来自Javadoc for Thread

public final void setName(String name)

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

public String toString()

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


Thread t = Thread.currentThread();
System.out.println(t);
t.setName("new thread name");
System.out.println(t);
Run Code Online (Sandbox Code Playgroud)

版画

Thread[main,5,main]
Thread[new thread name,5,main]
Run Code Online (Sandbox Code Playgroud)

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