On 21/02/2018 22:40, 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...

Mandy mentioned fibers in one of the replies and I think we do need to be cautious about exposing native thread IDs in the Java SE APIs until we have a better sense how some of these APIs will work. I expect there will be a Thread object per fiber but I'm less sure on ThreadMXBean. It may be that ThreadMXBean's dumpAllThreads returns the ThreadInfos for just the kernels threads, the equivalent of today where it only returns the ThreadInfos for the started threads, but once the project is further along then maybe a different choice might emerge.

If there is pressing need then could we just expose it it in the JDK-specific com.sun.management.ThreadMXBean API instead?

-Alan

Reply via email to