ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1); scheduledExecutorService.scheduleAtFixedRate(task, 0, 1, TimeUnit.SECONDS);
long scheduledTime = System.currentTimeMillis() + delay; timer.schedule(new TimerTask() { @Override public void run() { //do something } }, new Date(scheduledTime), period);