Olá a todos,
estou fazendo um sistema que o objetivo é jogar um dado 10 vezes por segundo e gravar em banco de dados, tudo esta funcionando menos a qtd de vezes que ele tem que executar por segundo, no final eu gravo no BD a hora com os segundo e noto que ele gava de 14 a 20 vezes no mesmo segundo quando na verdade ele deveria fazer isso apenas 10 vezes como esta no for, segue dois pedaços do codigo, o que estou errando?
[code]int dado = (int)(Math.random() * 2) ;
public static final long TEMPO = (1000); // atualiza o site a cada 1 segundo [/code]
Timer timer = null;
if (timer == null) {
timer = new Timer();
TimerTask tarefa = new TimerTask() {
public void run() {
try {
System.out.println("Teste agendador");
for(int i=0;i<10;i++){
lançamento l = new lançamento();
System.out.println(l.dado);
Conexao c = new Conexao();
c.conectar(l.retornarData(), l.retornarHora(), l.dado);
}
//chamar metodo
} catch (Exception e) {
e.printStackTrace();
}
}
};
timer.scheduleAtFixedRate(tarefa, TEMPO, TEMPO);