Deadlock - me digam se eu estou certo

26/02/2003

0

Oi, pessoal, estou desenvolvendo um sistema de estacionamento rotativo em delphi 6 com Interbase 6, usando a estratégia de 3 camadas. Meu problema é o seguinte :

Quando há vários usuários usando o sistema ao mesmo tempo, num dado momento, todas as estações travam, sem mostrar nenhuma mensagem de erro, enquanto que o servidor Midas(Data Snap) prossegue como se nada tivesse acontecido.

A princípio, achei que o problema fosse com minhas configurações de thread e instanciação do Midas, tanto é que troquei o modelo Apartment pelo Single e tudo funcionou normalmente. Só que o modelo Single não é o mais indicado para o tipo de sistema em questão.

Foi quando, lendo sobre Banco de Dados, me deparei com os Deadlocks e percebi que a situação se encaixa.

Por favor, me digam se as minhas conclusões estão certas. Se estiverem, me digam como agir.

Obrigado.


Anonymous

Anonymous

Responder

Posts

27/02/2003

Anonymous

Existem vários fatores para este acontecimento; mas pela descrição do seu problema..provavelemente não é erro de DeadLock pois o Interbase Não aceita transações concorrentes...não avendo transações concorrentes não tem como uma transação travar um registro e outra transação tentar usá-lo..
O que pode ter ocorrido é que todas as máquinas ´ao mesmo tempo´ fizeram uma solicitação (em transação) e o interbase colocou as solicitações em fila e executou uma a uma (sequencialmente)...
E dependendo do tamanho da transação isto pode ser rápido, ou um pouco demorado....


Espero ter ajudado..


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar