PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ärger mit Threads



ikarus
17-01-2005, 18:25
Hallo,

ich schreibe zur Zeit eine Client-Server Anwendung die Daten austauscht.
Bei jedem accept erzeuge ich einen neuen Thread, dieser liest und schreibt Daten und wird mit pthread_exit beendet.

Mein Problem ist jetzt, das ich nur 256 Verbindungen annehmen kann, danach lässt sich kein Thread mehr erzeugen.

Hat jemand von euch schon mal dieses Phänomen gehbt ???

peschmae
17-01-2005, 18:59
Also 256 aufs mal? Eigentlich sollten da 512 drin liegen



The maximum number of threads per process is 512. The maximum number of threads can be retrieved at compilation time using the PTHREAD_THREADS_MAX symbolic constant defined in the pthread.h header file. If an application is compiled with the -D_LARGE_THREADS flag, the maximum number of threads per process is 32767.

Ups, das geht ja um AIX und ist von IBM, mmh.

Dann Guck halt mal hier: https://listman.redhat.com/archives/phil-list/2004-March/msg00003.html und natürlich die Antworten dazu :)

MfG Peschmä

panzi
17-01-2005, 21:36
ich denk das ist sowieso nicht das ideale design, wenn der server soo viele verbinudungen verwalten können muss, das er dies mit je einen thread pro verbindung macht.

ikarus
18-01-2005, 07:01
Moin, es sind nicht 256 Threads gleichzeitig, es wird bei jeder Verbindung einer erstellt und nach Erledigung wieder beendet. Aber dann werde ich mir wohl ein paar Threads erstellen müssen und mir denen alles erledigen.

peschmae
18-01-2005, 07:11
Gehts weiter wenn du den im Link beschriebenen Tipp anwendest? Dann beendest du evtl. die Threads nicht sauber und die hängen da irgendwie noch rum.

MfG Peschmä

ikarus
18-01-2005, 08:50
Ich hab es hinbekommen, wenn ich den neuen Thread in den Detach Status setze kann ich soviele Threads erzeugen wir ich will.

locus vivendi
18-01-2005, 12:45
Ich hab es hinbekommen, wenn ich den neuen Thread in den Detach Status setze kann ich soviele Threads erzeugen wir ich will.
Dann hattest du vergessen die Threads zu "joinen".