Walter Alves Chagas Junior wrote:

> O verdadeiro conceito de um DeadLock, é quando um processo espera por
> um recurso que nunca será liberado por N razões. Isto pode ocorrer
> porque um outro processo, que estaria usando o recurso, pode ter
> dado pau e o referido então fica preso ou porque ele está sendo
> processado muito lentamente e já estrapolou o tempo previsto.

Ou seja, transação longa.

> Transações longas podem causar Deadlock? PODEM, MAS NÃO
> NECESSARIAMENTE. Isto é muito relativo e não é regra. Deadlocks
> não ocorrem apenas em função de transações em bancos de dados ou
> outros. Pode ocorrer numa fila de impressão, numa conexão FTP/HTTP,
> pode ocorrer num processo de leitura de um arquivo ou gravação em
> um arquivo dentre outros fatores. Mas geralmente eles são sintomas
> de que um outro processo travou ou está processando além do tempo
> estimado para o mesmo.

Tudo porque o cidadão faz mil e uma ao invés de ler ou gravar 
rapidamente. Abra uma transação quando tiver certeza do que vai fazer, e 
que isto não ocorra por mais do que alguns segundos.

Mais - transações de leitura não causam deadlock se o cidadão usar o 
tipo de transação correto. Faltou eu citar os tipos de transação bons 
para leitura, mas isto estou há léguas de saber de cabeça. O OPF faz 
isto por mim ;-)

--
Joao Morais

Responder a