Escolar Documentos
Profissional Documentos
Cultura Documentos
Implementacin
El prximo pseudo-cdigo garantiza la sincronizacin entre el barbero y el cliente, pero
puede llevar a inanicin del cliente. wait() y signal() son funciones provistas por el
semforo.
Se necesita:
Semforo barberoListo = 0
// (Mutex, slo 1 0)
int sillasLibres = N
// Ciclo infinito
{
wait(clientes)
ir a dormir.
wait(sillasAccesibles)
signal(barberoListo)
signal(sillasAccesibles)
libres. Desbloquear.
// Aqu el barbero corta el pelo de un cliente (zona de cdigo no
crtico).
}
{
sillasLibres =- 1
signal(clientes)
para atenderlo.
// Se le corta el pelo al cliente.
}
else
{
signal(sillasAccesibles) // Desbloquear la modificacin de sillas libres
para otros procesos/hebras.
// El cliente se va de la barbera
}
Vase tambin
Vase tambin
Enlaces externos
Leer en otro idioma
ltima edicin hace 3 meses por un usuario annimo
Wikipedia Mvil
Escritorio
El contenido est disponible bajo la licencia CC BY-SA 3.0 , salvo que se indique lo contrario.
Trminos de uso
Privacidad