在Java编程中,定时器是一种非常有用的功能,它可以帮助我们按照指定的时间间隔执行特定的任务,Java提供了多种方式来实现定时器功能,其中最常用的是使用
java.util.Timer
和
java.util.TimerTask
类,以及
java.util.concurrent.ScheduledExecutorService
接口。
使用Timer和TimerTask
创建Timer对象
我们需要创建一个对象,它是定时器的核心。
Timer timer = new Timer();
创建TimerTask对象
创建一个对象,它代表要执行的任务。
TimerTask task = new TimerTask() {@Overridepublic vOID run() {// 在这里编写要执行的任务代码System.out.println("任务执行中...");}};
安排任务
使用对象的方法安排任务,该方法可以接受多个参数,包括任务对象、执行任务的时间以及时间间隔。
// 在当前时间后延迟1秒执行一次,每次间隔1秒timer.schedule(task, 1000, 1000);
关闭定时器
当不再需要定时器时,应该关闭它以释放资源。
timer.cancel();
使用ScheduledExecutorService
创建ScheduledExecutorService对象
使用
Executors.newScheduledThreadPool
方法创建一个
ScheduledExecutorService
对象。
ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
安排任务
使用
scheduleAtFixedRate
或
scheduleWithFixedDelay
方法安排任务,这两个方法都接受任务、开始执行任务的时间以及执行任务的间隔。
// 在当前时间后延迟1秒开始执行,之后每2秒执行一次scheduler.scheduleAtFixedRate(task, 1000, 2000, TimeUnit.MILLISECONDS);
关闭执行器服务
当不再需要执行器服务时,关闭它。
scheduler.shutdown();
比较与选择














发表评论