Universidad de Costa RicaEscuela de Ciencias de la Computación e InformáticaCI-0122 Sistemas operativosEjemplos |
|
| CI0122 / Ejemplos / 2014-i | |
mutex m;
bool estado = false; // false == hombre
int gente = 0;
Semaforo cola(3);
persona( bool genero )
{
while( true )
{
Trabajar();
m.wait();
if( estado == genero || gente == 0 )
{
estado = genero;
m.signal();
cola.wait();
m.wait;
++gente;
m.signal();
Banno();
m.wait();
--gente;
m.signal();
cola.signal();
}
else
m.signal();
}
}