Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: kaiserr en 31 Diciembre 2013, 02:40 am



Título: Threads en C bajo Unix
Publicado por: kaiserr en 31 Diciembre 2013, 02:40 am
Muy buenas!

Tengo que hacer un programa que cree un maximo de 10.000 threads y calculen una parte de la ecuacion del numero pi y luego el proceso padre sume todos los resultados para obtener el numero pi.
El funcionamiento es lo de menos.

El problema que tengo es que en algunos ordenadores no admite 10.000 threads, por lo tanto "me veo obligado" a utilizar threads con el atributo detached... Por lo tanto no se guarda informacion de los thread, pero para que el padre no finalice antes que cualquier otro thread necesito hacer un pthread_join, pero sin tener los ids de los threads no se me ocurre como podria hacer que el padre esperara a todos los threads.

Alguna idea?

Gracias!


Título: Re: Threads en C bajo Unix
Publicado por: amchacon en 31 Diciembre 2013, 09:40 am
¿Has considerado que a lo mejor necesitas otro algoritmo?

10.000 threads me parece una animalada, sobre todo si los estás ejecutando al mismo tiempo, sin pausas de por medio.

Si tú intención es mejorar el rendimiento, no deberías pasar de 4-5 (recuerda que los procesadores no pasan de 4 núcleos).


Título: Re: Threads en C bajo Unix
Publicado por: kaiserr en 31 Diciembre 2013, 11:40 am
Lo se, pero me lo piden así..
 :-[