Hi Jeremy,

I think "thread id" is too platform specific to be exposed in a core Java API like Thread - even as a non-descript String.

Maybe through a platform specific MXBean API?

For things like /proc/<pid>/task/<nid> is there a way to say <nid> in a way that means "current thread"? That may be a partial solution - or even whole if you could then read back the actual id?

David


On 22/02/2018 8:40 AM, Jeremy Manson wrote:
Hey folks,

I mentioned earlier in the thread about the ThreadInfo.from() bug that I found this because I was looking at fixing JDK-8154176, which proposes introducing native thread ids to Thread and ThreadInfo.

https://bugs.openjdk.java.net/browse/JDK-8154176

I have a prototype for it.  I have a couple of questions, though:

0) Does anyone object to this being done or my doing it?  I see that it already has an owner.

1) Should the ID be a long?  The Hotspot thread dump prints it out as 0x%x, which is an unsigned hexadecimal integer.  The type hiding behind it is platform-dependent, though: a pid_t on Linux, an unsigned long on Windows, a thread_t on Solaris.  I could make it a String instead...

Jeremy

Reply via email to