Nbr потоков, запущенных JNI_CreateJavaVM()

#java #c #java-native-interface

#java #c #java-native-интерфейс

Вопрос:

Когда я вызываю JNI_CreateJavaVM () на 24-ядерном компьютере с 32 ГБ, использующем Ubuntu 10.10 gcc, запускается 26 потоков. Это кажется излишеством. Где можно задать количество созданных потоков? Спасибо.

Комментарии:

1. Чего вы на самом деле пытаетесь достичь? Это число кажется вполне разумным; вам действительно нужен один поток на ядро в вашем пуле потоков. Добавьте основной поток и один для сборщика мусора, и у вас будет 26 потоков, которые вы видите.

2. на данный момент мое приложение не является многопоточным…

Ответ №1:

Если вы не хотите использовать все ядра, вы можете явно установить привязку к потоку вашего процесса через sched_set_affinity() . (Windows имеет аналогичный механизм).

Комментарии:

1. Я бы подумал о настройке JVM