Produtor Consumidor Java
Artigo: Produtor Consumidor Java. Pesquise 862.000+ trabalhos acadêmicosPor: nenodes • 24/6/2013 • 641 Palavras (3 Páginas) • 644 Visualizações
package pkg;
public class Consumidor extends Thread {
static final int MAX_SLEEP_TIME = 5000;
private Estoque estoque;
private String nome;
public Consumidor() { }
public Consumidor(String nome, Estoque estoque) {
this.nome = nome;
this.estoque = estoque;
}
public void consumir() {
synchronized (estoque) {
// Verifica se estoque n„o est· vazio
if (estoque.getEstoqueSize() > 0) {
int recurso = estoque.consumeFirst();
System.out.println("- " + nome + " consumiu " + recurso);
}
else {
/* N„o existe recursos no estoque */
try {
System.out.println("! " + nome + " esta esperando reposiÁ„o de estoque.");
/* Espera o produtor notificar que houve uma reposiÁ„o no estoque */
estoque.wait();
}
catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
public void run() {
while (true) {
this.consumir();
try {
Thread.sleep((int)(Math.random() * MAX_SLEEP_TIME));
}
catch (InterruptedException e) {
e.printStackTrace();
}
}
}
...