加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java编程倒计时实现方法示例

发布时间:2020-12-14 14:15:29 所属栏目:Java 来源:网络整理
导读:实现Java编程中倒计时的方法有许多,下面我们通过三个示例来简单了解下它的实现过程。 1.简易方式实现 /** * @see * @author Al_assad yulinying_1994@outlook.com * @date 2016年10月18日 上午3:10:13 * @version V1.0 * Description: 倒计时简易实现,只用

        实现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(),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"); 
   } 
  },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); 
 }*/ 
 
} 

总结

以上是本文的全部内容,希望对大家能有所帮助。

感谢大家对本站的支持。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读