22/04/2013, 09:42
|
| | 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];
} |