Implementar utilizando: C + Pthreads no Linux
ou
Java, qualquer plataforma
o seguinte exemplo clássico de programação concorrente:
- A barbearia tem uma sala de espera com N cadeiras, uma cadeira de barbear e um barbeiro dorminhoco.
- Se não existem clientes à espera, o barbeiro senta em uma cadeira e dorme.
- Quando chega um cliente, ele acorda o barbeiro.
- Se chega outro cliente enquanto o barbeiro está trabalhando,
ele ou ocupa uma cadeira e espera (se tem
alguma cadeira disponível) ou vai embora (se todas as cadeiras
estão ocupadas).
Obs: Barbeiro e clientes são processos, mecanismos de sincronização
devem ser utilizados para simular a situação descrita acima.