David Kerr
David Kerr

Reputation: 385

How does the Sun JVM map Java threads to Windows threads?

My application uses loads of Java threads. I am looking for a reliable understanding how the JVM (version 5 and 6) maps the Java threads to underlying Windows threads. I know there is a document for mapping to Solaris threads, but not Windows.

Why doesn't Sun publish this information?

I want to know if there's a 1:1 mapping, or if it varies by JVM, by -server option, by workload, etc, etc.

I know I am not "supposed" to care, I should write properly synchronisd code, but I am inheriting a large body of code...

Also, does anyone know how to give names to Windows threads?

Upvotes: 10

Views: 5659

Answers (4)

TheMarko
TheMarko

Reputation: 8654

Don't have a document for you, but from the Threads column in the task-manager you can pretty reliably guess that it maps 1:1 to native threads (you need to enable the Threads column in the task manager first).

Oh, almost forgot, you can download the jdk src here and look yourself.

Upvotes: 7

rai.skumar
rai.skumar

Reputation: 10677

JVM specification doesn't say anything strictly in this regard. Its left upto the JVM implementors to map Java theads to platform theads( Windows, Linux etc). Also its hard to believe that there will be one to one mapping between Java threads and OS threads.

Upvotes: 0

MSalters
MSalters

Reputation: 179991

How to name a Win32 thread

Unfortunately, this seems like it's impossible or at least very hard to do inside the Windows JVM.

Upvotes: 0

Miguel Ping
Miguel Ping

Reputation: 18347

The mapping is platform-dependent, however I found an interesting comparison between platform threads for the vm (although probably a bit old). The bottom line is: you don't need to know. What you probably are more interested is to know about green threads (if you don't know already).

As for the naming question: Doesn't the constructor allow you to name a thread? Or do you mean name them and view their name on some windows thread browser?

Upvotes: 1

Related Questions