我们可以更改主线程的名称吗? 并在主要方法
Thread t = Thread.currentThread();
System.out.println(t);
打印:
Thread[main,5,main]
- 这里是第一个线程名称,第二个优先级,第三个是当前线程所属的线程组。
是不是?
什么是线程组第三个参数?
答案 0 :(得分:11)
来自Thread
的Javadocpublic 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);
打印
Thread[main,5,main]
Thread[new thread name,5,main]
要更改ThreadGroup的名称,您可以使用反射,但这不太可能是个好主意。
答案 1 :(得分:-2)
获取当前线程名称的正确方法是
System.out.println("Name of Thread is " + Thread.currentThread().getName());
其中currentThread()是Thread类的静态方法,它引用当前正在执行的线程; getName()是给出该线程名称的函数。