Tuesday, July 12, 2005

Clase controladora del semaforo!

// Clase ControladorSemaforo
// la cual se encarga de llamar los metodos de la clase ventana
// para cambiar los estados de los semaforos de forma sincronizada.
public class ControladorSemaforo extends Thread {
public Ventana v; // Se declara un objeto Ventana.
public void setVentana(Ventana vn) { // Metodo para recibir la referencia del objeto de la clase Ventana
v = vn; // Se le asigna la referencia del objeto Ventana.
} // para poder usar sus metodos.
public void run() {
while(true) { // While infinito para que repita el proceso hasta que se cierre el programa
v.setVerdeDoblaAB();
v.setRojoCD();
try {
this.sleep(5000); // Duermo el hilo por 5 segundos
}
catch(InterruptedException ie) {
System.out.println(ie.getMessage());
}
v.setVerdeAB();
try {
this.sleep(5000); // Duermo el hilo por 5 segundos
}
catch(InterruptedException ie) {
System.out.println(ie.getMessage());
}
v.setAmarilloAB();
try {
this.sleep(2000); // Duermo el hilo por 2 segundos
}
catch(InterruptedException ie) {
System.out.println(ie.getMessage());
}
v.setRojoAB();
v.setVerdeDoblaCD();
try {
this.sleep(5000); // Duermo el hilo por 5 segundos
}
catch(InterruptedException ie) {
System.out.println(ie.getMessage());
}
v.setVerdeCD();
try {
this.sleep(5000); // Duermo el hilo por 5 segundos
}
catch(InterruptedException ie) {
System.out.println(ie.getMessage());
}
v.setAmarilloCD();
try {
this.sleep(2000); // Duermo el hilo por 2 segundos
}
catch(InterruptedException ie) {
System.out.println(ie.getMessage());
}
}
}
}

0 Comments:

Post a Comment

<< Home