Barbeiro Dorminhoco

784 palavras 4 páginas
Redação de Relatório do Problema do Barbeiro

O trabalho proposto nos trouxe um problema clássico do barbeiro dorminhoco, onde em uma barbearia comum existe um barbeiro que quando esta ocioso, ou seja, sem clientes em seu estabelecimento, acaba dormindo na cadeira onde faz os cortes de cabelo. Na barbearia ainda existem cinco lugares que servem para que os clientes que estão chegando ao estabelecimento e não são atendidos imediatamente, esperem. À medida que os cinco lugares são ocupados os clientes que chegam posteriormente vão embora, e a medida que o barbeiro acaba o corte de cabelo de cada cliente ele inicia o corte do próximo e desocupa uma cadeira onde estava um cliente a espera.
O problema é a programação sem que haja condições de disputa.
A partir da definição do problema estudamos um melhor jeito de desenvolver o algoritmo.
Implementamos um algoritmo em Java, onde definimos 4 classes que são: Barbearia, Barbeiro, Chegada e Cliente.
A classe Barbearia define os parâmetros do sistema e inicia a lista de clientes randômicos conforme os valores definidos nas variáveis estáticas acima.
Cliente é um objeto que possui os atributos id, tempoChegada, tempoCorte, que serão usados para definir o tempo que cada thread usará.
Chegada é a thread que alimenta o array de espera que será usado pelo barbeiro, também decide se o existe lugar na barbearia para o cliente ou não.
Barbeiro por sua vez corta os cabelos de acordo com o tempo definido e remove ele da lista de espera liberando um novo espaço.
Como temos uma condição de disputa nesse problema, definimos Threads para resolver o problema do barbeiro e de chegada dos clientes. Para o problema de exclusão mutua, onde para evitar que as 2 threads tenham acesso simultâneo a um recurso compartilhado, utilizamos uma variável que definimos como “dia” (dia = 1 condição que existem clientes na barbearia ou ainda existem clientes para chegar, dia = 0 não existem mais clientes na fila e terminou o dia) quando foram

Relacionados

  • Barbeiro Dorminhoco
    723 palavras | 3 páginas
  • O Barbeiro Dorminhoco
    318 palavras | 2 páginas
  • solução barbeiro dorminhoco
    863 palavras | 4 páginas
  • Barbeiro
    542 palavras | 3 páginas
  • condiçoes de disputa
    369 palavras | 2 páginas
  • Problemas Classicos SO
    477 palavras | 2 páginas
  • Algorítimo barbeiro
    681 palavras | 3 páginas
  • Sistemas Operacionais
    1558 palavras | 7 páginas
  • Tp so
    2251 palavras | 10 páginas
  • Mecanismos de sincronização de processos e aplicações concorrentes
    2274 palavras | 10 páginas