Wunderschönen guten Abend die Herrn, die Damen,
ich hätte da mal ein Problem, bei dem ich jetzt Hilfe brauch.
Mein Ziel:
Ein (linux) Tcp Server, der jede Verbindung an einen Thread übergibt und dort verarbeitet.
Nun ist mein Problem, dass mein Test-Code auf meine lokalen Maschine( arch linux)
max. 380 Threads zulässt.
ulimit -a sagt mit jedoch, dass ich 100.000 starten darf.
Mein Testcode:
Letzte Ausgabezeile:
Danach wirft pthread_create error-code 11.
( Was ich auch mal recht interessant finden würde, ist, wo ich nachschauen kann,
was genau dieser error-code bedeutet)
Any hints ?
Grüße,
MArc
ich hätte da mal ein Problem, bei dem ich jetzt Hilfe brauch.
Mein Ziel:
Ein (linux) Tcp Server, der jede Verbindung an einen Thread übergibt und dort verarbeitet.
Nun ist mein Problem, dass mein Test-Code auf meine lokalen Maschine( arch linux)
max. 380 Threads zulässt.
ulimit -a sagt mit jedoch, dass ich 100.000 starten darf.
Code:
$ cat /proc/sys/kernel/threads-max
100000
Mein Testcode:
Code:
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
using namespace std;
void *init( void *ptr );
main(){
pthread_t thread;
int threadCount = 0;
int ret;
while(true) {
ret = pthread_create( &thread, NULL, &init, (void*)threadCount );
threadCount++;
}
exit(0);
}
void *init( void *ptr )
{
int *count;
count = (int*) ptr;
printf("Thread #%d\n", count );
}
Letzte Ausgabezeile:
Code:
Thread #380
( Was ich auch mal recht interessant finden würde, ist, wo ich nachschauen kann,
was genau dieser error-code bedeutet)
Any hints ?
Grüße,
MArc