domingo, 28 de abril de 2013

Descrição do Algoritmo

   Esse algoritmo usa o sistema do tipo 'pegue a ficha', como os utilizados nas padarias muito movimentadas por isso foi apelidado de Algoritmo da Padaria de Lamport. Esse algoritmo toma como modelo um cenário do mundo real, ou seja, esperar para ser atendido em uma padaria. Ele é modelado segundo um modelo de padaria no qual um funcionário atende aos pedidos no balcão, onde esse funcionário só pode atender um cliente por vez.
    Em uma sequência ascendente de fichas pegas pelos clientes na entrada da padaria o funcionário faz o atendimento pelo cliente que estiver com a ficha de menor 'valor', o cliente faz o seu pedido, o funcionário pega as mercadorias, o cliente paga pelo que comprou e sai da padaria. Mas diferente de um distribuidor de fichas do mundo real, o algoritmo  de Lamport permite que vários threads obtenham o mesmo número de ficha. O algoritmo de Lamport inclui um mecanismo de resolução de impasse que garante que somente um thread por vez possa executar em sua seção crítica, no caso da padaria é quando o cliente está na sua vez de ser atendido.  O código foi desenvolvido na linguagem C++ e pode ser baixado AQUI!

2 comentários:

  1. Se possivel postar o codigo novamente pois o link foi deletado^^

    ResponderExcluir
  2. Gostaria de visulalizara o codigo, o link de download ja nao estar mais disponivel.

    ResponderExcluir