最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java多線程之定時器Timer的使用詳解

 更新時間:2017年04月11日 11:26:01   作者:醉眼識朦朧  
本篇文章主要介紹了java多線程之定時器Timer的使用詳解,Time類主要負責(zé)完成定時計劃任務(wù)的功能,有興趣的可以了解一下。

定時的功能我們在手機上見得比較多,比如定時清理垃圾,鬧鐘,等等.定時功能在java中主要使用的就是Timer對象,他在內(nèi)部使用的就是多線程的技術(shù).

Time類主要負責(zé)完成定時計劃任務(wù)的功能,就是在指定的時間的開始執(zhí)行某個任務(wù).

Timer類的作用是設(shè)置計劃任務(wù),而封裝任務(wù)內(nèi)容的類是TimerTask類.此類是一個抽象類,繼承需要實現(xiàn)一個run方法.

通過查文檔我們看到Timer有以下幾個構(gòu)造函數(shù):

 

Timer的方法以下這么多:

下面我們通過定時器來完成一個簡單功能,就是在運行項目三秒后,在控制臺打印出"您該起床了",來模擬一下鬧鐘的功能:

package com.wang.reflect;

import java.util.Timer;
import java.util.TimerTask;

class MyTask extends TimerTask{

  @Override
  public void run() {
    System.out.println("您該起床了!!!!");
  }
}
public class TimerDemo {
  public static void main(String[] args) {
    //創(chuàng)建定時器對象
    Timer t=new Timer();
    //在3秒后執(zhí)行MyTask類中的run方法
    t.schedule(new MyTask(), 3000);
    
  }
}

運行后,我們發(fā)現(xiàn)三秒后控制臺打印出了相當(dāng)?shù)奈淖?但是任務(wù)雖然執(zhí)行完了,進程卻沒有銷毀,還是呈紅色狀態(tài),這是什么原因呢?

創(chuàng)建了一個Timer就相當(dāng)于啟動了一個新線程,這個新線程并不是守護線程,所以會一直運行.

在Time類和TimerTask類中都有一個cancel()方法.

TimerTask類中的作用是:將自身從任務(wù)隊列中清除,(一個Timer對象可以執(zhí)行多個Timertask任務(wù))

Timer類中的作用是:將任務(wù)隊列中的全部任務(wù)清空.

下面寫一個實例,定時刪除指定磁盤某個目錄下的所有文件:

package com.wang.reflect;

import java.io.File;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;


class MyTask extends TimerTask{
/**
 * 定時刪除指定位置的文件,(這里以刪除f盤下aa文件夾的所有文件為例)
 */
  @Override
  public void run() {
    File file=new File("f://aa");
    deleteFolder(file);
    
  }
  public void deleteFolder(File file){
    File[] files=file.listFiles();
    for(File f:files){
      if(f.isDirectory()){
        //使用遞歸
        deleteFolder(f);
      }else{
        f.delete();
      }
    }
    file.delete();
  }
  
}
public class TimerDemo {

  public static void main(String[] args) throws ParseException {
    //創(chuàng)建定時器對象
    Timer t=new Timer();
    String time="2016-04-04 11:26:40";
    Date d=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(time);
    t.schedule(new MyTask(), d);
  }
}

注意,如果在上面測試代碼中,我給出的Date類型的時間,早于當(dāng)前的時間.則會立即執(zhí)行task任務(wù).

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • MyBatis如何使用PageHelper實現(xiàn)分頁查詢

    MyBatis如何使用PageHelper實現(xiàn)分頁查詢

    這篇文章主要介紹了MyBatis如何使用PageHelper實現(xiàn)分頁查詢,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • java中的常見關(guān)鍵字解析

    java中的常見關(guān)鍵字解析

    這篇文章主要介紹了java中的常見關(guān)鍵字,需要的朋友可以參考下
    2014-08-08
  • 詳解Java序列化機制

    詳解Java序列化機制

    這篇文章主要介紹了Java序列化機制的相關(guān)資料,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-12-12
  • SpringCloud中的Stream服務(wù)間消息傳遞詳解

    SpringCloud中的Stream服務(wù)間消息傳遞詳解

    這篇文章主要介紹了SpringCloud中的Stream服務(wù)間消息傳遞詳解,Stream 就是在消息隊列的基礎(chǔ)上,對其進行封裝,可以是我們更方便的去使用,Stream應(yīng)用由第三方的中間件組成,應(yīng)用間的通信通過輸入通道和輸出通道完成,需要的朋友可以參考下
    2024-01-01
  • Java數(shù)據(jù)結(jié)構(gòu)之常見排序算法(下)

    Java數(shù)據(jù)結(jié)構(gòu)之常見排序算法(下)

    這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)之常見排序算法(下),與之相對有(上),想了解的朋友可以去本網(wǎng)站掃搜,在這兩篇文章里涵蓋關(guān)于八大排序算法的所有內(nèi)容,需要的朋友可以參考下
    2023-01-01
  • Java中的transient關(guān)鍵字介紹

    Java中的transient關(guān)鍵字介紹

    這篇文章主要介紹了Java中的transient關(guān)鍵字介紹,需要的朋友可以參考下
    2015-03-03
  • Java解壓zip文件完整代碼分享

    Java解壓zip文件完整代碼分享

    這篇文章主要介紹了Java解壓zip文件完整代碼分享,向大家分享了兩部分代碼示例,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • Java二叉搜索樹基礎(chǔ)原理與實現(xiàn)方法詳解

    Java二叉搜索樹基礎(chǔ)原理與實現(xiàn)方法詳解

    這篇文章主要介紹了Java二叉搜索樹基礎(chǔ)原理與實現(xiàn)方法,結(jié)合圖文與實例形式詳細分析了Java二叉搜索樹的基本概念、原理、實現(xiàn)方法與操作注意事項,需要的朋友可以參考下
    2020-03-03
  • Java中this的用法實例總結(jié)

    Java中this的用法實例總結(jié)

    JAVA中的this是一個非常重要的模塊,在編程中有非常重要的地位,擅長用this的人常常可以使程序更加簡潔和方便,下面這篇文章主要給大家介紹了關(guān)于Java中this用法的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • SpringMVC @RequestBody出現(xiàn)400 Bad Request的解決

    SpringMVC @RequestBody出現(xiàn)400 Bad Request的解決

    這篇文章主要介紹了SpringMVC @RequestBody出現(xiàn)400 Bad Request的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04

最新評論

陕西省| 依兰县| 闸北区| 奉贤区| 通辽市| 金山区| 深水埗区| 山阳县| 淮北市| 封丘县| 两当县| 漾濞| 星座| 巴彦淖尔市| 疏勒县| 固安县| 桃园市| 沙湾县| 开远市| 开平市| 遂川县| 芜湖县| 阜新市| 图木舒克市| 崇文区| 石泉县| 象州县| 舒城县| 耿马| 略阳县| 高青县| 翁牛特旗| 玉田县| 海南省| 凤凰县| 丹东市| 嘉鱼县| 朝阳区| 平湖市| 庆阳市| 金乡县|