Java编程倒计时实现方法示例
程序员文章站
2024-02-28 18:54:46
实现java编程中倒计时的方法有许多,下面我们通过三个示例来简单了解下它的实现过程。...
实现java编程中倒计时的方法有许多,下面我们通过三个示例来简单了解下它的实现过程。
1.简易方式实现
/** * @see * @author al_assad yulinying_1994@outlook.com * @date 2016年10月18日 上午3:10:13 * @version v1.0 * description: 倒计时简易实现,只用单线程 */ import java.util.*; import java.util.concurrent.*; public class countdown { private int limitsec; public countdown(int limitsec) throws interruptedexception{ this.limitsec = limitsec; system.out.println("count from "+limitsec); while(limitsec > 0){ system.out.println("remians "+ --limitsec +" s"); timeunit.seconds.sleep(1); //设置倒计时间隔 } system.out.println("time is out"); } //test public static void main(string[] args) throws interruptedexception { new countdown(100); //倒计时起始时间,多少秒 } }
2.使用scheduleexecutor实现
/** * @see * @author al_assad yulinying_1994@outlook.com * @date 2016年10月18日 上午2:14:43 * @version v1.0 * description: 倒计时实现方式1:使用scheduledexecutor实现 * 使用两个线程; */ import java.util.concurrent.*; public class countdown1 { private volatile int limitsec ; //记录倒计时时间 private int cursec; //记录倒计时当下时间 public countdown1(int limitsec) throws interruptedexception{ this.limitsec = limitsec; this.cursec = limitsec; system.out.println("count down form "+limitsec); scheduledexecutorservice exec = executors.newscheduledthreadpool(1); exec.scheduleatfixedrate(new task(),0,1,timeunit.seconds); timeunit.seconds.sleep(limitsec); //暂停本线程 exec.shutdownnow(); system.out.println("time out!"); } private class task implements runnable{ public void run(){ system.out.println("time remains "+ --cursec +" s"); } } //test /* public static void main(string[] args) throws interruptedexception{ new countdown1(10); }*/ }
3.使用java.util.timer实现
/** * @see * @author al_assad yulinying_1994@outlook.com * @date 2016年10月18日 上午2:47:44 * @version v1.0 * description: 倒计时实现方式2:使用java.uitl.timer实现 * 使用两个线程 */ import java.util.*; import java.util.concurrent.timeunit; public class countdown2 { private int limitsec; private int cursec; public countdown2(int limitsec) throws interruptedexception{ this.limitsec = limitsec; this.cursec = limitsec; system.out.println("count down from "+limitsec+" s "); timer timer = new timer(); timer.schedule(new timertask(){ public void run(){ system.out.println("time remians "+ --cursec +" s"); } },0,1000); timeunit.seconds.sleep(limitsec); timer.cancel(); system.out.println("time is out!"); } //test /* public static void main(string[] args) throws interruptedexception{ new countdown2(10); }*/ }
总结
以上是本文的全部内容,希望对大家能有所帮助。
感谢大家对本站的支持。