threads
我在 Java 线程模型 API 中读过一件事。它表示多个线程可以具有相同的名称。但是每个线程的PID都是唯一的,对吧?那叫什么名字呢?是不是线程类名?
问问题
2808 次
3 回答
8
那叫什么名字呢?不是线程类名吗?
名称是您设置它使用的任何名称Thread.setName
。这只是为了诊断的目的。如果您不调用Thread.setName
或向构造函数提供名称,则将根据文档确定该值:
分配一个新的 Thread 对象。此构造函数与 具有相同的效果
Thread (null, null, gname)
,其中 gname 是新生成的名称。自动生成的名称格式为"Thread-"+n
,其中 n 是整数。
(显然,给出一个指示其用途的特定线程名称在诊断上更有用。)
于 2012-11-25T20:57:37.633 回答
6
创建新线程时,会为其分配一个自动生成的名称,其格式为 - "Thread-0"
, "Thread-1"
。
但是,您可以随时使用以下Thread#setName()
方法更改线程的名称:-
Thread.currentThread().setName("ABC");
Thread.currentThread()
返回对当前执行线程的引用,然后将该线程的名称设置为"ABC"
.
于 2012-11-25T20:58:58.093 回答
1
不,这是一个线程名称,如果你看到一个线程转储,你就会知道哪个线程在做什么。:)
于 2012-11-25T20:57:45.313 回答