java倒计时代码怎么写

2024-04-24

以下是一个简单的Java倒计时代码示例:

import java.util.concurrent.CountDownLatch;

public class CountdownTimer {

    public static void main(String[] args) throws InterruptedException {
        int time = 10; // 倒计时时间,单位为秒

        CountDownLatch countDownLatch = new CountDownLatch(1);

        Runnable countdownTask = () -> {
            for (int i = time; i > 0; i--) {
                System.out.println("倒计时:" + i + "秒");
                try {
                    Thread.sleep(1000); // 线程休眠1秒
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
            countDownLatch.countDown();
        };

        Thread countdownThread = new Thread(countdownTask);
        countdownThread.start();

        countDownLatch.await(); // 等待倒计时结束
        System.out.println("倒计时结束!");
    }
}

在这个示例中,我们使用CountDownLatch类来实现倒计时功能。首先创建一个CountDownLatch对象,并传入初始值为1。然后定义一个线程任务countdownTask,在任务中使用一个循环来进行倒计时,并在倒计时结束时调用countDownLatch.countDown()方法来减少计数器的值。接着创建一个线程并启动它,最后调用countDownLatch.await()方法来等待倒计时结束。当倒计时结束后,程序输出"倒计时结束!"。