gpt4 book ai didi

java - 线程对象上 getId() 的返回类型

转载 作者:搜寻专家 更新时间:2023-10-31 19:47:05 26 4
gpt4 key购买 nike

为什么,例如,Thread.currentThread().getId() 返回一个 long?

这真的需要 64 位吗?就像我要让一台机器运行那么多线程一样!

说真的,这有点痛苦,因为我正在写一些东西来跟踪线程标识符和其他位,我真的不想使用这么长的数字,否则我必须使用唯一的 key 生成是巨大的。

也许长返回有约定;就像前 48 位总是零一样。我在互联网上进行了挖掘,但没有找到任何东西。希望如此;有人确定吗?

谢谢。

最佳答案

这段代码:

private static synchronized long nextThreadID() {
return ++threadSeqNumber;
}

应该给出原因的见解。本质上,线程 ID 是由一个正在运行的计数器分配的,因此如果您在很长一段时间内没有终止 JVM,这个数字就会超过 long。我只能想象他们这样做是为了减少长时间运行的线程中发生冲突的机会。

关于java - 线程对象上 getId() 的返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16716145/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com