package frame.schedule; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; public class Timer { private ScheduledExecutorService service; public void start(final ITask task, long delay, long period) { Runnable runnable = new Runnable() { public void run() { task.exec(); } }; service = Executors.newSingleThreadScheduledExecutor(); service.scheduleAtFixedRate(runnable, delay, period, TimeUnit.SECONDS); } public void end() { service.shutdown(); } }