jueves, 7 de octubre de 2010

Semáforos en Java, Sincronizar Threads


Este ejemplo muestra como utilizar semáforos para coordinar un grupo de threads, este problema implementa un caso de lectores-lectores, donde dos tipos de "lectores" pueden cooperar con los de su mismo tipo, pero son excluyentes con los del tipo contrario, en el caso particular tenemos un puente de un solo carril, que permite el paso en los dos sentidos, un tipo de "lector" son los carros que van al Este, estos pueden entrar al puente acompañados de otros carros que vayan en el mismo sentido, pero son excluyentes con los carros que van al Oeste, por lo que debe existir exclusión mutua Este-Oeste y cooperar entre Este-Este y Oeste-Oeste. Este programa fue realizado como practica del curso de Sistemas Operativos 1 de la Carrera de Ingeniería en Ciencias y Sistemas de la Facultad de Ingeniería de la Universidad de San Carlos de Guatemala.