2008-11-03 4 views
9

Мое приложение использует множество потоков Java. Я ищу надежное представление о том, как JVM (версия 5 и 6) сопоставляет потоки Java с базовыми потоками Windows. Я знаю, что есть документ для сопоставления потокам Solaris, но не Windows.Как Sun JVM сопоставляет потоки Java с потоками Windows?

Почему Sun не публикует эту информацию?

Я хочу знать, если есть 1: отображение 1, или если она меняется в зависимости от JVM, по -Server опции, рабочая нагрузка и т.д., и т.д.

Я знаю, что я не «должен» заботиться, Я должен написать правильно синхронизированный код, но я наследую большой кусок кода ...

Также, кто-нибудь знает, как давать имена потокам Windows?

+0

Я был бы удивлен, если он сделает что-то более продвинутое, чем 1: 1-планирование. – JesperE 2008-11-03 15:23:04

ответ

6

У вас нет документа для вас, но из столбца Threads в диспетчере задач вы можете довольно надежно угадать, что он сопоставляет 1: 1 с родными потоками (вам нужно сначала включить столбец Threads в диспетчере задач).

О, почти забыл, вы можете скачать jdk src here и посмотреть сами.

1

Отображение зависит от платформы, однако я нашел интересный comparison между потоками платформы для vm (хотя, вероятно, немного старым). Суть в том, что вам не нужно знать. То, что вам, вероятно, больше интересует, это знать о green threads (если вы еще не знаете).

Что касается вопроса об именовании: Разве constructor не позволяет назвать нить? Или вы имеете в виду назвать их и просматривать их имя в каком-то браузере окон?

0

How to name a Win32 thread

К сожалению, это кажется, что это невозможно или, по крайней мере, очень трудно сделать внутри Windows, JVM.

+0

Вы всегда можете обернуть некоторый JNI вокруг этого кода, если хотите его использовать. – 2008-11-03 15:59:57

0

Спецификация JVM ничего не говорит строго в этом отношении. Его осталось до разработчиков JVM для сопоставления Java-адов с платформенными аддами (Windows, Linux и т. Д.). Также трудно поверить, что будет одно к одному сопоставление между потоками Java и потоками ОС.

Смежные вопросы