[C con Clase] Problema sincronizacion hilos POSIX

Jorge Vega Sanchez memmaker650 en gmail.com
Mie Ago 11 18:11:47 CEST 2010


No es problema de los sleep. Eso lo sé seguro. De hecho se me olvido ponerlo. El código está probado en MAC y Linux donde POSIX es "nativo".

El 11/08/2010, a las 16:57, Gilberto Cuba Ricardo escribió:

> Bueno, aquí vamos,
> 
> Jorge Vega Sanchez escribió:
> 
> Estoy haciendo una prueba para sincronizar 2 hilos (pthreads). Lo que ando buscando es crear una barrera en ambos hilos para que a partir de allí ambos hilos se ejecuten al mismo tiempo.
> 
> Nunca he trabajado con hilos, pero me motivan muchas cosas, y 
> más ahora que estoy de vacas en casa.
> 
> [CORTE DEL CÓDIGO]
> 
> En este último fichero sobran librerías incluidas pero no recordaba que librería contiene la función sleep y meti unas cuantas que tenía en otro programa.
> 
> Si es en Windows con MinGW está en la stdlib.h, pero se llama 
> _sleep(msec); con MSVC (que no me parece que sea tu caso) está 
> en stdlib.h -> _sleep(msec) pero declarada como obsoleta y en 
> WinBase.h -> Sleep(sec); y en Linux con GCC no recuerdo bien, 
> pero creo que estaba unistd.h.
> 
> No incluye los ficheros de cabecera porque son "triviales".
> 
> Solución obtenida con ese código.
> 
> Se produce el sleep durante 3 segundos  y psoteriormente se muestra todo seguido por pantalla.
> 
> Antes de modificar el código, que lo acomodé y lo puse todo en 
> un solo archivo, salía todo disparado para la consola, sin 
> espera ni nada por el estilo.
> 
> Solucion deseada:
> 
> Salidas en pantalla:
> hilo 1
> hilo2
> -- nada durante 3 segundos
> arriba hilo 1
> --espera un segundo - diferencial
> Depierta hilo 2
> 
> Esto lo logré cambiándole los tiempos al sleep, y en lugar de 
> poner los valores 1, y 3, puse estos mismos valores multiplicados 
> por 1000. Por si te ayuda en algo el programa lo compilé en Windows 7, 
> Code::Blocks con MinGW - TDM-1 - GCC 4.5.0.
> 
> El problema creo que está en las funciones del barrier pero  no consigo hacerlo funcionar bien.
> 
> No he mirado el código que tiene que ver con los hilos.
> 
> Gracias de antemano, cualquier ayuda será bienvenida.
> 
> Espero que sea esto de los sleep. Suerte
> 
> -- 
> Salu2,
>  Gilbert
> _______________________________________________
> 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

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20100811/6234c185/attachment.html>


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