La era de la informatica

Saturday, February 24, 2007

Problema 2: Concurrencia. Hilos

Hola. Me complace presentaros el segundo problema de "Era Informatica", este problema lo vi en un libro de sistemas operativos y es realmente muy sencillo. Aqui os dejo 2 links con 2 codigos muy parecidos pero con una pequeña diferencia. Estos codigos ejecutan hilos concurrentemente y modifican una variable global. Si los compilais y los ejecutais vereis que la salida por pantalla es distinta. La pregunta es ¿Por que la salida del programa es distinta? (De nuevo explicar con el mayor detalle posible)

Codigo 1
Codigo 2

Como comprobareis es realmente una trivialidad. Espero que os animeis a participar. Mandad un email con vuestra respuesta.

PD: La API de hilos usada es PThreads por lo que solo podreis compilarlo en sistemas tipo UNIX. Si tengo tiempo esta semana hare un codigo parecido para windows (pero no se si podre). En cualquier caso el codigo es tan sencillo que no hace falta compilarlo para deducir la salida del programa.