java - 将 Java 线程 ID 与 native Linux PID 匹配

标签 java linux performance

<分区>

我需要将 java 线程 id 与其本地 linux pi 相匹配。 我不能使用 kill -3 <PID>因为我不拥有输出流或 jstack <PID>因为我运行的是 JRE 而不是 JDK。

已尝试 pstack来自 linux 端,以及来自 java 端的 JVM 管理类 - 没有任何成功。

感谢您的协助。

谢谢。

最佳答案

Thread id 与底层 OS 线程 id 无关。它是从 static 计数器分配给该 Thread 实例的值。

/* For generating thread ID */
private static long threadSeqNumber;

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

您将需要使用一些native 调用来获取实际值,可能使用Juned's link in the comments. 中的建议

关于java - 将 Java 线程 ID 与 native Linux PID 匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19252149/

相关文章:

java - 通过仅更改占位符在 hibernate 中批量获取

java - 在 Android 4.4.2 上更改短信应用默认设置

java - Java 中从部分 32 位值计算部分十进制值的最佳方法是什么

java - 如何使用 JdbcTemplate 查询对象函数传递字符串数组查询字符串?

linux - 用于在 Linux 中测试网络连接的自动化脚本

javascript - 什么时候html元素多一些好还是少一些好?

Java 不在 Linux 中执行命令

c - Windows中的系统调用

linux - Bash 输出仅限于回显

ios - arm64 objectForKey 性能异常?