Thread e Consultas

Firebird

24/03/2004

Oi, gente.

Estou montando um sistema que tem a necessidade de efetuar varias consultas e alterações paralelas (ao mesmo tempo) a algumas tabelas.
Gostaria de saber se é possivel, através de threads ou de outro modo, de se executar esta consultas e alterações.

Algumas destas consultas podem ocorrer simultaneamente e um programa instalado no servidor deve gerenciar todas elas.
As vezes podem ocorrer até 100 consultas simultaneas.

Se alguém puder me ajudar.

Obrigada.


Mari

Mari

Curtidas 0

Respostas

Afarias

Afarias

24/03/2004

Vc pode usar Threads sem problemas desde q cada Thread thenha sua própria conexão (IBDatabase se for IBX)


T+


GOSTEI 0
Mari

Mari

24/03/2004

Oi, afarias.

Obrigada pela dica.

Gostaria de saber como evitar deadlock se duas consultas estiverem alterando o mesmo registro.

Obrigada.


GOSTEI 0
Afarias

Afarias

24/03/2004

se as alterações forem ´rápidas´ (transações curtas) basta vc configurar as transações para WAIT -- e ai, uma transação espera a outra terminar para seguir.


T+


GOSTEI 0
Mari

Mari

24/03/2004

Se as consultas demorarem 1 segundo, num total de 100 consultas, o último usuário terá de esperar mais de 1 minuto e meio para ter a resposta.

Esqueci de dizer, estou usando o DBExpress.

Obrigada.


GOSTEI 0
Afarias

Afarias

24/03/2004

|Se as consultas demorarem 1 segundo,

Consultas não bloqueiam registros (bom, só se for no FB 1.5 com bloqueio pessimista explícito)


|num total de 100 consultas, o último usuário terá de esperar mais de 1
|minuto e meio para ter a resposta.

Apenas se o commit (liberando o bloqueio) somente ocorrer após as 100 consultas... (isso é claro pode ser evitado)

Além do mais, 1:30min. é muito mas tb é pouco, depende do processo q se está trabalhando.

No mais, se vc não quizer esperar, pode deixar as transações em NO WAIT e então tratar a exceção gerada pedindo pro usuário tentar novamente a operação em outro momento.


T+


GOSTEI 0
POSTAR