• 技术文章 >Java >java教程

    Java实现倒计时的方法详解

    黄舟黄舟2017-09-09 13:39:01原创2337
    这篇文章主要介绍了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); 
     }*/ 
     
    }

    总结

    以上就是Java实现倒计时的方法详解的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:Java 倒计时 详解
    上一篇:Java中如何将Excel转shape file的代码案例(图) 下一篇:Java中关系操作符的实例详解
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• Java基础归纳之枚举• 完全掌握java之String类• 带你搞懂Java结构化数据处理开源库SPL• 一文搞懂Java接口• 详细整理java枚举的使用总结
    1/1

    PHP中文网