[C con Clase] pthread, consulta a los altos gurues

Jorge Vega Sanchez memmaker650 en gmail.com
Mar Ago 4 13:15:08 CEST 2009


Buenas, tengo experiencias con threads y espero que te pueda servir   
de ayuda.

A ver segun comentas tienes mucha carga de CPU en un hilo mientras que  
en el otro dices que tienes muy poco. Supongo que lo veras en el  
monitor de la distro. Yo en MAC OS tengo un indicador en el escritorio  
que me muestra el uso de cada uno de los núcleos. Por lo tanto y  
jugando un poquito ves cosas muy interesantes, por ejemplo lo que  
comentas. Por ejemplo te recomiendo que ejecutes los hilos por  
separado, es decir, que crees solo un hilo una de las tareas que  
hagas, veas el uso de CPU y si no es ese pruebes con el otro. Sé que  
parece un poco chapucero pero se ven cosas interesantes. Sobre el PID,  
estamos hablando de creación de hilos dentro de un  mismo programa o  
proceso por lo que los hilos saldran supongo que con el mismo PID,  
aunque esto no lo he probado, lo probaré esta tarde.

Recomendación: En cada hilo lanzas un procedimiento o un trozo de  
código definido. Fijate en que estos "procedimientos" no tienes ningún  
bucle infinito ni nada parecido.
Recomendación: Yo primero realizaría cualquier programa sin hilos ni  
nada. Una vez funcione todo correctamente pensaría en una reordenación  
de las tareas para crear hilos. Sino puedes incurrir en muchos errores  
y errores de memoria por lectura escritura de datos compartidos.

Un saludo.
El 03/08/2009, a las 19:40, David fire escribió:

> hola
> primero les cuento el problema y luego lo que hice.
> a lo mejor se les ocurre otra solucion
>
> con top y la opcion H veo que hay un thread que se zarpa con el uso  
> de la CPU con respecto al otro.
> y quiero saber cual es.
>
> lo que hice...
> al ser linux cuando hago getpid en el thread me da el pid del  
> proceso que creo el thread.
> por lo tanto el unico identificador que tengo es pthread_self() como  
> lo mapeo con el pid que si aparece en top???
>
> una opcion que no me sirve es usar gdb e info stack por que me frena  
> el proceso.
>
> agradesco cualquier comentario y/o guiia.
> David
>
>
>
> -- 
> (\__/)
> (='.'=)This is Bunny. Copy and paste bunny into your
> (")_(")signature to help him gain world domination.
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ

Best regards
Jorge







Más información sobre la lista de distribución Cconclase