Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Anderson Nunes

Aplicação Com BD travando processamento.

Recommended Posts

Olá, boa noite, preciso de algumas dicas.

 

1- Tenho uma aplicação usando o Zeos com MySql, acontece que quando o cliente vai fazer login a tela trava, mesmo usando o processamento em uma thread separada. Gostaria de deixar uma animação enquanto acontece a conexão.

 

2- Me disseram que quando estou usando threads para trabalhar com os calculos e querys do banco de dados, o ideal seria colocar Zconnections e querys, no caso do zeos, diferentes para cada thread. Acho essa informação um tanto precipitada e falsa e gostaria de solicitar a opinião de voces.

 

3- Por que, em alguns processamentos, mesmo usando threads, a minha aplicação trava? Isso acontece muito raramente, mas ja aconteceu em uma consulta(select) bastante longa que fiz.

 

e mais uma coisa, alguem poderia me dizer a forma correta de se usar threads? Atualmente, faço mais ou menos assim.

 

dentro da thread crio uma procedure, exemplo, comandos(); dentro de comandos(); coloco os meus codigos e através da procedure execute(), chamo a comandos() usando o método syncronize. no meu formulario crio a thread. Mesmo funcionando assim, acho que isto não esta na forma correta, alguem poderia me confirmar e ajudar?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça um teste, em vez de você criar uma procedure "comandos" e chamá-las pelo metódo Cycronize, coloque os comandos a serem executando dentro da procedure "execute msm".

Compartilhar este post


Link para o post
Compartilhar em outros sites

É o seguinte Anderson, não sou nenhum especialista em threads mas utilizo algumas, o que uma thread faz é simular processamento paralelos, ou seja, cada processo consome um pouquinho do tempo do processador e eles ficam revezando. Porém quando se utiliza threads pra fazer conexão com banco de dados ou consultas acredito que a melhora no desempenho seja minima, já que o processamento esta limitado ao seu SGDB e a velocidade de transmissão da sua rede, muito pouco tem haver com a utilização do seu processador.

E com relação a sua última pergunta sobre a forma correta de se utilizar, lembro que no evento Create da thread tem que definir umas propriedades, que agora nao me lembro, mas amanha chegando no trabalho posso postar aqui.

 

Essa é minha visão, caso esteja errado, peço que me corrijam, acompanharei o tópico porque thread é um assunto que me interessa apesar de pouquissimos programadores não saberem utilizar, e muitos não apoiarem sua utilização.

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.