[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