Thread e Consultas
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.
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
Curtidas 0
Respostas
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+
T+
GOSTEI 0
Mari
24/03/2004
Oi, afarias.
Obrigada pela dica.
Gostaria de saber como evitar deadlock se duas consultas estiverem alterando o mesmo registro.
Obrigada.
Obrigada pela dica.
Gostaria de saber como evitar deadlock se duas consultas estiverem alterando o mesmo registro.
Obrigada.
GOSTEI 0
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+
T+
GOSTEI 0
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.
Esqueci de dizer, estou usando o DBExpress.
Obrigada.
GOSTEI 0
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+
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