Java 计时器未更新方法无法正常工作

Java 计时器未更新方法无法正常工作,java,timer,Java,Timer,我想每500毫秒更新一次data()方法,但我下面的计时器更新data()方法的时间超过了4或5秒。谢谢 class RemindTask extends TimerTask { public void run() { try { data(); } catch (UnsupportedCommOperationException ex) { Logger.getLogge

我想每500毫秒更新一次data()方法,但我下面的计时器更新data()方法的时间超过了4或5秒。谢谢

class RemindTask extends TimerTask {
    public void run() {
            try {

                data();

            } catch (UnsupportedCommOperationException ex) {
                Logger.getLogger(test2.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IOException ex) {
                Logger.getLogger(test2.class.getName()).log(Level.SEVERE, null, ex);
            } catch (TooManyListenersException ex) {
                Logger.getLogger(test2.class.getName()).log(Level.SEVERE, null, ex);
            }

    }
定时器触发方法为

 private void okActionPerformed(java.awt.event.ActionEvent evt) {                                   

if(evt.getSource()==ok)
{
    bul=true;
    if(new communication().bul1==false)
    {
    JOptionPane.showMessageDialog(test2,"GPS CONNECTE");

    }
    //System.out.print(bd.get);
   timer = new Timer();
    timer.schedule(new RemindTask(), 500); 

}

您使用了错误版本的
计划
方法。第二个参数是延迟,而不是间隔。有关详细信息,请参阅

ScheduledExecutorService
优于
Timer
,下面是一个代码示例:

ScheduledExecutorService ses = Executors.newScheduledThreadPool(1);
ses.scheduleAtFixedRate(new RemindTask(), 0, 500, TimeUnit.MILLISECONDS);
您的
提醒任务
应该实现
可运行
界面:

class RemindTask implements Runnable {
  public void run() {
  // ...
  }
}

另外,请阅读。

未收到您的问题。我写了data()方法,希望以500毫秒的间隔继续更新。我为它写了上面的代码,但不能正常工作。这段代码每4秒更新一次我的data()方法,但在参数中我只输入了500毫秒,说明了它发生的原因