Java 定時(shí)器(Timer)及線程池里使用定時(shí)器實(shí)例代碼
java Timer定時(shí)器
簡單實(shí)例代碼:
public class Test {
public static void main(String[] args) {
// Timer定時(shí)器
Timer mTimer = new Timer();
MyTack myTack = new MyTack();
mTimer.schedule(myTack, 2000, 3000);//第一個(gè)參數(shù)是需要執(zhí)行的任務(wù) 第二個(gè)參數(shù)是延遲多少時(shí)間最開始執(zhí)行,第三個(gè)參數(shù)是執(zhí)行完后多少時(shí)間后進(jìn)行再次執(zhí)行是一個(gè)周期性的
Scanner mScanner = new Scanner(System.in);
String exti = "";
while(!exti.equals("1")){
System.out.println("---->>");
exti = mScanner.next();
}
System.out.println("關(guān)閉");
mTimer.cancel();//關(guān)閉這個(gè)定時(shí)器
mScanner.close();
}
static class MyTack extends TimerTask{
@Override
public void run() {
System.out.println("執(zhí)行任務(wù)");
}
}
}
線程池里的定時(shí)器
public class Test {
public static void main(String[] args) {
// 定時(shí)器
ScheduledExecutorService service = Executors.newScheduledThreadPool(3);
service.scheduleWithFixedDelay(new MyRunnable(), 0, 10000,
TimeUnit.MILLISECONDS);//一個(gè)參數(shù)是實(shí)例化一個(gè)runnable的對象,第二個(gè)參數(shù)是延遲多長時(shí)間后執(zhí)行,第三個(gè)參數(shù)是執(zhí)行一次后需要等待多長時(shí)間后執(zhí)行第二次是一個(gè)周期性的,第四個(gè)參數(shù)是按類型算(毫秒,秒,分。。等其他的一些類型).
}
}
//需要寫一個(gè)實(shí)現(xiàn)runnable接口的類
public class MyRunnable implements Runnable {
@Override
public void run() {
int index = 0;
while (index++ < 100) {
System.out.println(Thread.currentThread().getName()+" "+index);
try {
Thread.sleep(50);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
- java Timer 定時(shí)每天凌晨1點(diǎn)執(zhí)行任務(wù)
- Java定時(shí)器Timer使用方法詳解
- Java多線程定時(shí)器Timer原理及實(shí)現(xiàn)
- java定時(shí)任務(wù)Timer和TimerTask使用詳解
- Java 定時(shí)器(Timer,TimerTask)詳解及實(shí)例代碼
- Java定時(shí)任務(wù):利用java Timer類實(shí)現(xiàn)定時(shí)執(zhí)行任務(wù)的功能
- java使用TimerTask定時(shí)器獲取指定網(wǎng)絡(luò)數(shù)據(jù)
- Java循環(huán)調(diào)用多個(gè)timer實(shí)現(xiàn)定時(shí)任務(wù)
相關(guān)文章
springboot 用監(jiān)聽器統(tǒng)計(jì)在線人數(shù)案例分析
這篇文章主要介紹了springboot 用監(jiān)聽器統(tǒng)計(jì)在線人數(shù)案例分析,質(zhì)是統(tǒng)計(jì)session 的數(shù)量,思路很簡單,具體實(shí)例代碼大家參考下本文2018-02-02
Java通過wait()和notifyAll()方法實(shí)現(xiàn)線程間通信
這篇文章主要為大家詳細(xì)介紹了Java通過wait()和notifyAll()方法實(shí)現(xiàn)線程間通信的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04
Java并發(fā)系列之AbstractQueuedSynchronizer源碼分析(條件隊(duì)列)
這篇文章主要為大家詳細(xì)介紹了Java并發(fā)系列之AbstractQueuedSynchronizer源碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02
Java中IO流使用FileWriter寫數(shù)據(jù)基本操作詳解
這篇文章主要介紹了Java中IO流FileWriter寫數(shù)據(jù)操作,FileWriter類提供了多種寫入字符的方法,包括寫入單個(gè)字符、寫入字符數(shù)組和寫入字符串等,它還提供了一些其他的方法,如刷新緩沖區(qū)、關(guān)閉文件等,需要的朋友可以參考下2023-10-10
Spring內(nèi)置任務(wù)調(diào)度如何實(shí)現(xiàn)添加、取消與重置詳解
任務(wù)調(diào)度是我們?nèi)粘i_發(fā)中經(jīng)常會碰到的,下面這篇文章主要給大家介紹了關(guān)于Spring內(nèi)置任務(wù)調(diào)度如何實(shí)現(xiàn)添加、取消與重置的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-10-10
詳解Java volatile 內(nèi)存屏障底層原理語義
為了保證內(nèi)存可見性,java 編譯器在生成指令序列的適當(dāng)位置會插入內(nèi)存屏障指令來禁止特定類型的處理器重排序。為了實(shí)現(xiàn) volatile 內(nèi)存語義,JMM 會分別限制這兩種類型的重排序類型2021-09-09
java GUI實(shí)現(xiàn)學(xué)生圖書管理簡單實(shí)例
這篇文章主要為大家詳細(xì)介紹了java GUI實(shí)現(xiàn)學(xué)生圖書管理簡單示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01

