具有相同名称的线程

时间:2012-11-25 20:56:22

标签: java multithreading

我在java线程模型api中读过有关java线程的一件事。它说多个线程可以具有相同的名称。但是每个线程的pid都是唯一的,对吧?那叫什么名字?是不是线程类名?

3 个答案:

答案 0 :(得分:6)

  那么这个名字是什么?是不是线程类名?

该名称是您使用Thread.setName设置的名称。它只是为了诊断的目的。如果您未调用Thread.setName或向构造函数提供名称,则将根据文档确定该值:

  

分配一个新的Thread对象。此构造函数与Thread (null, null, gname)具有相同的效果,其中gname是新生成的名称。自动生成的名称的格式为"Thread-"+n,其中n是整数。

(在诊断上,给出一个指明其用途的特定线程名称显然更有用。)

答案 1 :(得分:5)

创建新线程时,会为其分配一个自动生成的名称,其格式为 - "Thread-0""Thread-1"

但是,您可以随时使用Thread#setName()方法更改线程的名称: -

Thread.currentThread().setName("ABC");

Thread.currentThread()返回对当前线程执行的引用,然后将该线程的名称设置为"ABC"

答案 2 :(得分:1)

不是它是一个线程名称,如果你看到一个线程转储,你将知道哪个线程正在做什么。 :)