[eside-ghost] Pthreads

Jorge Martinez de Salinas jorge.marsal en gmail.com
Mar Sep 15 11:06:41 CEST 2009


Todos los threads comparten la zona de memoria de datos, la de texto y  
la de heap, pero tienen su propio stack. A medida que vas creando  
threads se van creando sus propios stacks y se consume memoria. En  
este enlace tienes algo de información sobre pthreads, igual te sirve.

https://computing.llnl.gov/tutorials/pthreads/


On Sep 15, 2009, at 10:58 AM, Iker Perez de Albeniz - Txupete - wrote:

> Aupa, tengo una duda..
>
> Estoy haciendo un pequeños servidorcillo con pthreads
>
> basicamente tengo esto:
>
> ***************************************************************************
>   int th_counter = 0;
>   pthread_t thread_id[100];
>
>   for(;;) {
>
>
>
>       sin_size = sizeof their_addr;
>       new_fd = accept(sockfd, (struct sockaddr *)&their_addr,  
> &sin_size);
>
>
>
>       if (new_fd == -1) {
>           perror("accept");
>           continue;
>       }
>
>       inet_ntop(their_addr.ss_family, get_in_addr((struct sockaddr *) 
> &their_addr), s, sizeof s);
>
>       mainData *data = new mainData 
> (new_fd,&cfg,savepath,commconfiguration,cleans);
>
>       pthread_create(&thread_id[th_counter],NULL,analyze_spam, 
> (void*) data);
>
>
>       th_counter++;
>       if(th_counter == 100){
>           th_counter = 0;
>       }
>        // parent doesn't need this
>   }
>
> ***************************************************************************************
>
> No hago pthread_join porque nokieroesperar a que termine para  
> aceptar otra conexion y lanzar otro thread.
>
> El tema es que he visto que por cada pthread que lanzo tengo un  
> consumo de memoria. Alguien sabe porque es esto y si hay laguna  
> forma de evitarlo. he intentado usando la funcion pthread_detach()  
> pero me da segmentation faults.. alguna idea?
>
> Gracias.
> Un saludo.
>
> _______________________________________________
> eside-ghost mailing list
> eside-ghost en listas.deusto.es
> https://listas.deusto.es/mailman/listinfo/eside-ghost

--
Jorge Martínez de Salinas
http://www.jorgemarsal.com/blog/



Más información sobre la lista de distribución eside-ghost