Ich versuche, 1000 Threads zu erstellen, so dass ich wissen kann, wie viel Zeit es dauert, um sie zu erstellen. Ich benutze Pthreads. Aber ich bekomme segmentation fault: 11. Googling sagt mir, dass es der Fall der Verwendung von zu viel Speicher ist, aber ich bezweifle, dass es möglich ist Grund.Berechnung der Zeit zum Erstellen von n Threads
Irgendwelche Hinweise, was könnte der Grund sein?
Code:
int main(int argc , char *argv[])
{
int *i; // Matti's answer below: ... = (int*)malloc(sizeof(int));
*i = 0;
while(*i < 100)
{
pthread_t thread_id;
puts("Connection accepted");
if(pthread_create(&thread_id , NULL , connection_handler , (void*) &i) < 0)
{
error("could not create thread");
return 1;
}
//pthread_detach(thread_id);
*i = *i + 1;
}
return 0;
}
void *connection_handler(void *i)
{
sleep(1);
return 0;
}
Hallo mit @sad - ist es am besten nicht den Code in der Frage zu fixieren, wie es Kontext entfernt und macht Matti Antwort irrelevant zu sein scheint. Ich habe es bearbeitet, um ein Kommentar zu sein. Prost. –