If multiple Java applications are running on a system, is each Thread ID unique relative to all other Java threads, regardless of what application they are running in?
J
According to the JDK source, a thread ID is unique in a given JVM - in fact, it's simply implemented as a running sequence.
Here's the nextThreadID() method from 1.6.0_10:
private static synchronized long nextThreadID() {
return ++threadSeqNumber;
}
(there's probably actually a long overflow bug in there, presumably it's never actually happened)