Buenas, necesito implementar el problema concurrente de Productor/Consumidor mediante synchronized, wait() y notify().
Debe haber:
Una clase productor.
Una clase consumidor.
Una claseQ, especificada más abajo, y que puede ser modificada de ser necesario (añadiendo syncrhonized, wait() o notify() de hacer falta).
Una clase Main que crea tres objetos, una claseQ, un productor y un consumidor.
claseQ:
public class claseQ {
int id = 0;
public int get() throws InterruptedException {
return id;
}
public void put(int e) {
id = e;
}
}
Acción de producir:
obj.put(i);
System.out.println("Objeto introducido: "+i);
Acción de consumir:
System.out.println("Objeto obtenido: " + obj.get());
Lo he intenado millones de veces pero las pocas que no me sale IlegalMonitorStatException no se sincronizan; el productor va tremendamente más rápido que el consumidor. ¿Puede alguien escribir las clases main, productor y consumidor (y claseQ, si hiciese falta editarla), para ver si con la solución lo veo más claro?