Java Thread every X seconds

后端 未结 4 1657
旧巷少年郎
旧巷少年郎 2020-12-07 22:45

What is the easiest way to have a piece of Java code scheduled at a given rate ?

4条回答
  •  伪装坚强ぢ
    2020-12-07 23:12

    In Java 5+ with a ScheduledExecutorService:

    ScheduledExecutorService exec = Executors.newSingleThreadScheduledExecutor();
    exec.scheduleAtFixedRate(new Runnable() {
      @Override
      public void run() {
        // do stuff
      }
    }, 0, 5, TimeUnit.SECONDS);
    

    The above method is favoured. Prior to Java 5 you used Timer and TimerTask:

    timer.scheduleAtFixedRate(new TimerTask() {
      @Override
      public void run() {
        // do staff
      }
    }, 0, 5000);
    

提交回复
热议问题