日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java 定时器 倒计时_Java:多种方式实现倒计时定时器

發布時間:2023/12/14 java 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 定时器 倒计时_Java:多种方式实现倒计时定时器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

多種方式實現倒計時定時器

github鏈接:https://github.com/Al-assad/Java-Gadgets/tree/master/count_down

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(10);

}*/

}

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 定时器 倒计时_Java:多种方式实现倒计时定时器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。