import Semaforo.*;
public class Filosofo extends Thread {
int quienSoy = 0;
SemaforoGeneral tenDer, tenIzq, cont;
int numeroOperaciones = 10;
public Filosofo ( int _quienSoy,
SemaforoGeneral _cont,
SemaforoGeneral _tenDer,
SemaforoGeneral _tenIzq) {
quienSoy = _quienSoy;
tenDer = _tenDer;
tenIzq = _tenIzq;
cont = _cont;
}
public void run () {
for (int i=0;i<numeroOperaciones;i++) {
System.out.println ("Fil¢sofo "+quienSoy+" pensando");
cont.WAIT();
tenDer.WAIT ();
tenIzq.WAIT ();
System.out.println ("Fil¢sofo "+quienSoy+" comiendo");
try {Thread.sleep (500);}
catch (Exception e) {}
System.out.println ("Fil¢sofo "+quienSoy+" termina de comer");
tenDer.SIGNAL();
tenIzq.SIGNAL();
cont.SIGNAL();
}
}
}
|