赞
踩
github链接:https://github.com/Al-assad/Java-Gadgets/tree/master/count_down
- /**
- * @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(10);
- }*/
-
- }
- /**
- * @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);
- }*/
-
-
- }
- /**
- * @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);
- }*/
-
- }
-
-
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。