Algorítimo barbeiro

681 palavras 3 páginas
O Barbeiro Dorminhoco

O Barbeiro Dorminhoco consiste no seguinte: um barbeiro possui uma barbearia que funciona em horário comercial. Se nenhum cliente aparece, o barbeiro tira um cochilo. Se há clientes sentados nas cadeiras, o barbeiro atende por ordem de chegada. Se um cliente chega na barbearia e encontra as cadeiras lotadas, vai embora. Se um cliente chega na barbearia e encontra o barbeiro dormindo, ele o acorda.

O algoritmo pode ser descrito conforme abaixo. O método inicia indica processamento concorrente.

1. Programa Principal Barbeiro.inicia ( ) Cliente.inicia ( )
2. Barbeiro.inicia ( … ) enquanto Barbearia.aberta ( ) { Se Clientes.quantidade ( ) = 0 { dorme ( ) } senão { Se Não atendendo ( ) { Clientes.getMutex ( ).lock ( ) Cliente = Clientes.dequeue ( ) Clientes.getMutex ( ).unlock ( ) atende (Cliente) } } }
3. Cliente.inicia ( … ) enquanto Barbearia.aberta ( ) { Se Clientes.quantidade ( ) = Barbearia.capacidade ( ) { sair ( ) } senão { Clientes.getMutex ( ).lock ( ) Clientes.enqueue (this) Clientes.getMutex ( ).unlock ( ) Se Barbeiro.dormindo ( ) { Barbeiro.acorda ( ) } } }

O Problema do Barbeiro Dorminhoco (com threads)

Em ciência da computação, o problema do barbeiro dorminhoco é um problema clássico de comunicação inter-processo e sincronização entre múltiplos processos.
O problema é análogo a manter o barbeiro ocupado enquanto há clientes, e descansando quando não há nenhum (fazendo isso de uma maneira ordenada).
O barbeiro e seus clientes correspondem aos processos mencionados acima.

O problema:
Na barbearia há um barbeiro, uma cadeira de barbeiro em cadeiras para eventuais clientes esperarem a vez. Quando não há clientes, o barbeiro senta-se na cadeira de

Relacionados

  • Transformações de Empregos
    446 palavras | 2 páginas
  • Introdução à programação linear
    56494 palavras | 226 páginas
  • historia da fisica
    1993 palavras | 8 páginas
  • Microssatélites e snps em trypanosoma rangeli
    41184 palavras | 165 páginas
  • 201728346 Linguagem De Programacao Go Google Apostila Livro Curso Docx
    142137 palavras | 569 páginas
  • Ecologia
    39374 palavras | 158 páginas
  • Sistemas
    34925 palavras | 140 páginas
  • document
    38343 palavras | 154 páginas
  • LIVRO
    79937 palavras | 320 páginas