Skip to content

Instantly share code, notes, and snippets.

View lsartori94's full-sized avatar

Luca Sartori lsartori94

View GitHub Profile
process puestos[i=0..9]
{
FILA.desencolar(id)
while(id <> -1)
{
HINCHA[id].atender(i);
PUESTO[i].atender();
FILA.desencolar(id);
}
}
Monitor SALA;
{
int cant = 0; domidos = 0;
Cond espera;
procedure usar
{
if(cant == 1) {
dormidos++:
wait(espera);
Cola int espera;
Sem cola = 1;
Sem maq_libre = 1;
Sem colaInv[0..9] = 0;
process investigador[0..99]
{
P(cola);
espera.push(i); //me pongo en espera
V(cola);
P(maq_libre); //si la maquina esta libre
sem mutex = 1; int bolsas = 0;
process voluntario [0..4]
{
P(mutex) //espero a poder acceder a bolsa
while(bolsas < 1000)
{
bolsas++
V(mutex) //libero bolsa
lleno_bolsa()
P(mutex) //espero a que se libere bolsa para la vuelta del loop