Maximale Anzahl von Threads in einer JVM?
Wie viele Threads können maximal von der virtuellen Java-Maschine verwaltet werden?
Ich habe dies in meiner ursprünglichen Frage nicht erklärt, aber ich versuche, die JVM zu bewerten, und möchte versuchen, herauszufinden, wie viele Threads gleichzeitig verwaltet werden können.
Das Erstellen von Threads in einer Schleife, bis eine Ausnahme ausgelöst wird, ist eine Option. Ich würde jedoch gerne wissen, ob es einen besseren Weg gibt, dies zu tun.
Das Schreiben einer Schleife, die neue Threads erstellt, bis sie explodiert, ist der endgültige Weg, dies herauszufinden. Möglicherweise wird die Leistung erheblich beeinträchtigt, bevor sie tatsächlich stirbt.
Ich weiß nicht, ob es in der JVM Konfigurationsparameter oder andere integrierte Grenzwerte gibt. In der Praxis bin ich nie an ein Limit gestoßen. Natürlich wird Ihnen früher oder später der Speicher ausgehen, vielleicht eine andere Ressource.
Ich vermute, dass die Anzahl der Threads an sich nicht begrenzt ist, sondern die mit einem Thread verbundenen Ressourcen. Das heißt, Sie können sehen, dass Sie 10.000 Threads haben können, wenn alle nur eine kleine Klasse mit jeweils wenigen Datenbytes ausführen, aber die Anzahl sinkt schnell, wenn sie jeweils ein Array von 10 Millionen Zeichenfolgen haben.