java 中实现倒计时有两种方法:使用 scheduledexecutorservice 创建一个可重复执行的任务,直到时间到。使用 timer 和 timertask 创建一个可重复执行的任务,直到时间到。

Java 中实现倒计时的两种方法
在 Java 中,可以通过以下两种方法实现倒计时:
1. 利用 ScheduledExecutorService
ScheduledExecutorService 是 Java 中一种用于安排延迟或定期任务的工具。我们可以使用它来创建一个可重复执行的任务,直到时间到。
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class CountdownScheduledExecutorService {
public static void main(String[] args) {
// 创建一个可重复执行的任务
Runnable task = () -> System.out.println("倒计时: " + secondsLeft);
// 创建一个 ScheduledExecutorService,以 1 秒的延迟每秒执行任务
ScheduledExecutorService executorService = Executors.newScheduledThreadPool(1);
executorService.scheduleAtFixedRate(task, 1, 1, TimeUnit.SECONDS);
// 设置倒计时时间(秒)
int secondsLeft = 10;
// 等待倒计时结束
while (secondsLeft > 0) {
secondsLeft--;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
// 停止任务
executorService.shutdown();
}
}
登录后复制
2. 利用 Timer 和 TimerTask
Timer 和 TimerTask 是 Java 中用于安排任务的 legacy 类。与 ScheduledExecutorService 类似,我们可以使用它们来创建一个可重复执行的任务,直到时间到。
import java.util.Timer;
import java.util.TimerTask;
public class CountdownTimer {
public static void main(String[] args) {
// 创建一个可重复执行的任务
TimerTask task = new TimerTask() {
@Override
public void run() {
System.out.println("倒计时: " + secondsLeft);
}
};
// 创建一个 Timer,以 1 秒的延迟每秒执行任务
Timer timer = new Timer();
timer.schedule(task, 1000, 1000);
// 设置倒计时时间(秒)
int secondsLeft = 10;
// 等待倒计时结束
while (secondsLeft > 0) {
secondsLeft--;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
// 取消任务
task.cancel();
// 停止 Timer
timer.cancel();
}
}
登录后复制
以上就是java里怎么倒计时的详细内容,更多请关注叮当号网其它相关文章!
文章来自互联网,只做分享使用。发布者:老板不要肥肉,转转请注明出处:https://www.dingdanghao.com/article/528766.html
