Mailinglist Archive: opensuse-programming-de (126 mails)
| < Previous | Next > |
Re: Green Threads mit Java
- From: Ralf Corsepius <corsepiu@xxxxxxxxxxxxxx>
- Date: Sat, 22 Nov 2003 13:14:27 +0100
- Message-id: <1069503266.22890.2555.camel@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
On Sat, 2003-11-22 at 12:22, Philipp Thomas wrote:
> Bernhard Walle <Bernhard.Walle@xxxxxx> [Sat, 22 Nov 2003 10:26:51 +0100]:
>
> >Ok, dass es soviel ist habe ich nicht bedacht.
>
> C/C++ Programme können ja die Grösse des benötigten Stacks über
> pthread_attr_setstacksize modifizieren (aber nicht unter
> PTHREAD_STACK_SIZE), wie das bei Java aussieht weiss ich nicht.
>
> >Obwohl off-topic dennoch die Frage: Wie verwaltet MS Windows dann die
> >Threads?
Bis Win-3.1 gab es keine Threads ;)
> Da darfst du mich nicht fragen :)
Ebenfalls keine Ahnung.
Die POSIX-API (pthreads) ist allerdings OS-unabhängig, d.h. die
Stack-Problematik dürfte dort genauso existieren. Die Defaultwerte sind
allerdings OS-spezifisch und unterscheiden sich zwischen einzelnen OSen
ganz erheblich. Ich nehme aber an, dass Win-Java-Implementierungen an
POSIX vorbei implementiert sind und irgendwelche native Threads
verwenden.
Aber ihr solltest Euch bewusst sein, das die bisherige
pthread-Implementierung unter Linux eine der grössten Schwächen von
Linux darstellte. Sie ist zwar für einfache Sachen durchaus brauchbar,
doch die Grenzen habt ihr ja anscheinend gerade erlebt (Das soll mit
nptl anders werden, doch ... warten wir es ab.).
Ansonsten können, wie bei allen anderen Resourcen-intensiven Geschichten
auch, auch noch die ulimits dazwischen funken.
Darüber hinaus ist muss auch Frage nach dem Sinn von mehreren Hunderten
oder gar Tausenden Threads erlaubt sein. Wenn ihr Euch nicht gerade mit
massiv-parallellen Algorithmen beschäftigt und/oder über die
entsprechende HW verfügt, macht das in der Regel nur wenig Sinn.
Ralf
> Bernhard Walle <Bernhard.Walle@xxxxxx> [Sat, 22 Nov 2003 10:26:51 +0100]:
>
> >Ok, dass es soviel ist habe ich nicht bedacht.
>
> C/C++ Programme können ja die Grösse des benötigten Stacks über
> pthread_attr_setstacksize modifizieren (aber nicht unter
> PTHREAD_STACK_SIZE), wie das bei Java aussieht weiss ich nicht.
>
> >Obwohl off-topic dennoch die Frage: Wie verwaltet MS Windows dann die
> >Threads?
Bis Win-3.1 gab es keine Threads ;)
> Da darfst du mich nicht fragen :)
Ebenfalls keine Ahnung.
Die POSIX-API (pthreads) ist allerdings OS-unabhängig, d.h. die
Stack-Problematik dürfte dort genauso existieren. Die Defaultwerte sind
allerdings OS-spezifisch und unterscheiden sich zwischen einzelnen OSen
ganz erheblich. Ich nehme aber an, dass Win-Java-Implementierungen an
POSIX vorbei implementiert sind und irgendwelche native Threads
verwenden.
Aber ihr solltest Euch bewusst sein, das die bisherige
pthread-Implementierung unter Linux eine der grössten Schwächen von
Linux darstellte. Sie ist zwar für einfache Sachen durchaus brauchbar,
doch die Grenzen habt ihr ja anscheinend gerade erlebt (Das soll mit
nptl anders werden, doch ... warten wir es ab.).
Ansonsten können, wie bei allen anderen Resourcen-intensiven Geschichten
auch, auch noch die ulimits dazwischen funken.
Darüber hinaus ist muss auch Frage nach dem Sinn von mehreren Hunderten
oder gar Tausenden Threads erlaubt sein. Wenn ihr Euch nicht gerade mit
massiv-parallellen Algorithmen beschäftigt und/oder über die
entsprechende HW verfügt, macht das in der Regel nur wenig Sinn.
Ralf
| < Previous | Next > |