Fala galera esperta. To com uma grande duvida aqui e queria saber se alguem tem alguma ideia a respeito.
O problema é meio complicado mas vou tentar explicar resumidamente.
Bom, criei um programa em java que acessa dois bancos diferentes para buscar dados alem de tratar varios arquivos txt ao mesmo tempo de acordo com as consultas, o problema é que uma dessas bases é crítica e nao queria fazer muitas consultas seguidas.
Minha solução era que, assim que terminar uma consulta, ele atribuia um valor a uma variavel qualquer onde a mesma seria verificada quando iniciasse outra consulta, se a mesma tiver ainda o valor definido no termino da consulta anterior ele nao fazia a busca.
Mas tudo isso seria controlado por um “timer”, onde quando ele terminasse a consulta e desse o valor a variavel, ele daria 5 segundos e voltava ao valor antigo da variavel. E se uma nova consulta fosse necessaria e esses 5 segundos ainda nao foram passados, ele iria ver que a variavel ainda ta mudada (entre os 5 seg) e tentaria a cada 1 seg novamente ate que a variavel volte ao outro valor (apos passar os 5 seg) ai sim realizaria a consulta, nunca deixando que o intervalo entre as consultas seja menor que 5 seg.
Só não esquecam que enquanto passam esses 5 seg, ele esta tratando arquivos ao mesmo tempo, então não basta colocar um simples sleep.
Se alguem tiver uma ideia e puder me ajudar agradeço. Caso não entendam o problema eu escrevo novamente de outra maneira.
Valeu Galera.