当前位置: 首页 > 面试题库 >

从其ID获取对线程对象的引用

白侯林
2023-03-14
问题内容

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

例如

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

问题答案:

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

  • 旧方法:获取您可以Thread.currentThread().getGroup()循环访问..getParent()的根线程组。并打电话enumerate(Thread[])

  • 较新(但速度较慢)。 for (Thread t : Thread.getAllStackTraces().keySet()) if (t.getId()==id)...

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

第二个比较慢,但是有安全漏洞。



 类似资料:
  • 问题内容: 有没有一种方法可以获取Objective-C对象的PyObjC代理对象,仅将其作为整数?没有扩展模块可以完成吗? 就我而言,我试图从返回值(使用wxMac和Cocoa)中获取一个Cocoa代理对象。 问题答案: 我确实找到的一种解决方案依赖于从创建一个对象: 用于打印的示例: 因为使用,所以有点讨厌。如果有我忽略的API函数或其他更巧妙的方法,我肯定会感兴趣。

  • 问题内容: 我遇到一些与parse.com相关的问题,我想获取特定对象的数据…我已经使用以下代码来获取数据,但似乎已被贬值。 我使用以下代码来获取数据形式的objectId: 这里“ U8mCwTHOaC”是我的objectId,我想获取此objectId的行。谢谢。 问题答案: 如果要从用户表中获取数据。 如果要当前用户的行

  • 问题内容: 我有一个JSON文件,其中包含一些我想在AngularJS网站上访问的数据。现在,我要从数组中仅获取一个对象。因此,我想例如ID为1的商品。 数据如下所示: 我想使用AngularJS $ http功能加载数据,如下所示: 这正在工作。但是,现在如何从获取的数组中获取特定的数据对象(按ID)呢? 在此先感谢您的帮助。 马克·马克 问题答案: 唯一的方法就是遍历数组。显然,如果您确定结果

  • 问题内容: 有谁知道我该如何在hibernate状态下做到这一点: 使用JPA? EntityManager有一个contains方法,但仅此而已! 我正在编写一些代码,充当实体和会话中存储的数据之间的转换器(因此,不是存储序列化的对象,而是仅存储类名和ID)。 问题答案: 有谁知道我可以用JPA在hibernate(…)中做到这一点? JPA 1.0没有等效的功能,因此如果您坚持使用JPA 1.

  • 当一个线程获得一个对象(比如类B)的监控锁时,它是否获得了属于它的超类(比如类A,其中B扩展了A)的对象的监控锁? 观察 #1 - 当一个线程(通过同步方法拥有派生对象 B 的监视器锁)在超类 A 中调用 wait() 时,第二个线程获取对象 B 的监视器锁并在 A 中进行等待。最后,两个线程同时退出 B 的对象监视器。 我的理解是线程应该在其拥有锁的对象上调用否则这将导致非法监视器状态异常。在

  • 问题内容: 我有一个固定的线程池,我可以将任务提交给该线程池(限制为 5个 线程)。如何找出这 5个 线程中的哪一个执行我的任务(例如“第3 个 线程中的第3 个 线程正在执行此任务”)? 问题答案: 使用: