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