gpt4 book ai didi

java - 从其 ID 获取对 Thread 对象的引用

转载 作者:IT老高 更新时间:2023-10-28 20:54:15 24 4
gpt4 key购买 nike

如果我知道与该线程关联的 ID,我如何获得对正在运行的线程的引用?

例如

long threadID = 12342;
Thread thread = (What goes here?) getThreadFromId(threadID); //I know this is totally made up

最佳答案

您有两种方法可以做到这一点。两者都很简单:

  • 老方法:获取你可以在循环中访问 Thread.currentThread().getGroup()..getParent() 的根线程组。并调用 enumerate(Thread[])

  • 较新(虽然较慢)。 for (Thread t : Thread.getAllStackTraces().keySet()) if (t.getId()==id)...

第一种方法有一个小问题,由于 ThreadGroup.destroy() 中的一个错误,一个 ThreadGroup 可能根本无法枚举任何东西。

不过,第二个速度较慢并且存在安全漏洞。

关于java - 从其 ID 获取对 Thread 对象的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6667496/

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