Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 线程::getId()的用例?_Java_Multithreading - Fatal编程技术网

Java 线程::getId()的用例?

Java 线程::getId()的用例?,java,multithreading,Java,Multithreading,有人能给我一个线程的getId()的用例吗 使用getName()在后续运行期间保持不变,而不是使用会更改ID(基本上我甚至无法调试)的线程,不是更好吗?在这种情况下,可以重用相同的线程,您需要Id而不是name,以便了解它是同一线程的同一实例还是不同的线程实例。这在重写线程时尤其适用name@vizsatiz:数字线程id也被重复使用。不能保证一旦线程id 1终止,以后不会创建其他具有该id的新线程。该id仅对当前存在(不一定运行)的线程是唯一的。但是线程名称根本不要求是唯一的,因此只有id允

有人能给我一个
线程的getId()的用例吗


使用
getName()
在后续运行期间保持不变,而不是使用会更改ID(基本上我甚至无法调试)的线程,不是更好吗?

在这种情况下,可以重用相同的线程,您需要
Id
而不是
name
,以便了解它是同一线程的同一实例还是不同的线程实例。这在重写线程时尤其适用name@vizsatiz:数字线程id也被重复使用。不能保证一旦线程id 1终止,以后不会创建其他具有该id的新线程。该id仅对当前存在(不一定运行)的线程是唯一的。但是线程名称根本不要求是唯一的,因此只有id允许区分正在运行的线程。如果有必要区分历史上的线程(在日志文件中),请查看JavaDoc中ThreadLocal的示例代码。@Gagan:一个线程只运行一次!当
run()
方法结束时,线程已失效,无法重新激活。这也意味着线程id在线程的整个生命周期内保持不变。池中的线程不会死亡(除非它打算这样做),而是处理一个任务(可能是一个带有
run()
方法的Runnable),但它在自己的
run()
方法中处理任务的
run()
方法,否则将在其
run()中等待一个新任务
method。如果您自己设置了ThreadID,您可以创建映射。但是,你想达到什么目的呢?只是调试消息?@vizsatiz,我明白你的意思,但有实际的例子吗?在什么情况下,我希望使用Id检查实例的相等性?