Ile wątków obsłuży java (komputer) ?

Ile wątków obsłuży java (komputer) ?
0

Jak w tytule. Ile wątków jest w stanie obsłużyć Java a właściwie to komputer z niej korzystający. Domyślam się że czym lepszy tym więcej. Ale tak ogólnie. Chodzi o zwykłe wątki bez wprowadzania obsługi rdzeni(thread bez fork/join).

Olamagato
Co dla Ciebie oznacza "jest w stanie obsłużyć"? Stworzyć tyle obiektów, uruchomić?
K3
  • Rejestracja:ponad 11 lat
  • Ostatnio:około 11 lat
  • Postów:43
0

tutaj masz ciekawą dyskusję na ten temat http://stackoverflow.com/questions/763579/how-many-threads-can-a-java-vm-support
a w skrócie - dużo. tyle ile wejdzie do dostępnej pamięci. Możesz zmieniać przy uruchomieniu programu rozmiar stosu przydzielanego wątkowi (strasznie kulawo brzmi to zdanie, mam nadzieję że jest zrozumiałe - po angielsku to heap size), im mniejszy stos tym więcej wątków zmieści się w pamięci.

Wibowit
stos to stack, sterta to heap
0

Tyle ile można wystartować w tym samym czasie.

Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:minuta
3

Więcej niż ma to sens.

Koziołek
Moderator
  • Rejestracja:około 18 lat
  • Ostatnio:minuta
  • Lokalizacja:Stacktrace
  • Postów:6822
0

Pytanie nie brzmi ile, a czy te wątki będą miały co robić. JVM i tak korzysta z systemowej obsługi wątków zatem ile komp pociągnie tyle i JVM będzie wstanie wątków obsłużyć. Rzecz w tym, że jest sobie Prawo Amdahla, którego stosowanie chroni nas w pewnym zakresie przed bardzo dużymi rozczarowaniami... np. zwiększyliśmy liczbę wątków, apka działa wolniej...


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
__krzysiek85
  • Rejestracja:ponad 18 lat
  • Ostatnio:ponad 9 lat
  • Postów:1019
0

W niektórych aplikacjach wątki często na coś czekają (bazę, odczyt/zapis pliku, wywołanie zdalnego serwisu, itp.).
Jak najbardziej opłaca się wtedy tworzyć więcej wątków, niż ma się dostępnych rdzeni.
Oczywiście trzeba pamiętać, aby nie obciążyć za bardzo jakiegoś zasobu (np. 100 wątków wykonujących równolegle zapytania na jednej bazie, to słaby pomysł).
Polecam też korzystanie z pul wątków.


Registered Linux user #456405 | SCJP 6 | SCWCD 5 | SCBCD 5
edytowany 1x, ostatnio: __krzysiek85

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.