Classe Consumidor
/*****************************************************
*
Programa Produtor-Consumidor
*
Autor: Luiz Angelo Estefanel
*
JDK 1.0.2 - Kawa 2.05a
*
Setembro de 1997
*
http://www.inf.ufsm.br/~lae/prodcons.html
*****************************************************/
//
Classe consumidor, implementada como thread
class
C extends Thread
{
private B buffy; //
indica a área crítica
private int
csleep;
private int
ID; // Identificador desse objeto
public C (B b, int
csleep, int ID)
{
buffy = b;
this.csleep = csleep;
this.ID = ID;
}
public void
run () {
while (this.isAlive())
{ // semelhante a while (true)
buffy.sub(ID); // consome uma unidade do buffer
try {
sleep((int)(Math.random()
* csleep)); // dorme por um período
randômico
// Simula um desescalonamento
} catch (InterruptedException
e) {
return;
}
}
}
}