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