java里怎么倒计时

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

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

java里怎么倒计时

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

(0)
上一篇 2024-05-26 07:20
下一篇 2024-05-26 08:00

相关推荐

联系我们

在线咨询: QQ交谈

邮件:442814395@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信公众号