Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/04/2013, 09:42
rubenca
 
Fecha de Ingreso: abril-2013
Mensajes: 2
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Productor consumidor con vector o array

El codigo del bufer seria este pero no ago mas que darle vueltas:
public class BuferSincronizado{
private char bufer[]=new char[5];//Crea array de caracteres con las 6 posiciones
private int posBufer = 0;
private int uP = 10;//Ultima posicion
private boolean disponible = false;
// colocar valor en búfer
public synchronized void establecer( char letra ){
//si es asi significa que el proceso lector a consumido el ultimo caracter y nos posicionamos
//en la posicion ocupada por dicho caracter
while(posBufer==6){//Si el bufer esta lleno no escribe mas
try {
wait();
} catch (InterruptedException ex) {}
}

bufer[posBufer] = letra;
posBufer++;

disponible=true;
notify();
}
//obtener valor del bufer
public synchronized char obtener(){

while(!disponible){//Espera mientras no este disponible para leer
try {
wait();
} catch (InterruptedException ex) {}
}
posBufer=posBufer-1;
uP=posBufer;

notify();

return bufer[posBufer];
}