亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

JAVA TIMER簡單用法學習

2019-11-26 16:03:06
字體:
來源:轉載
供稿:網友

Timer有兩種執行任務的模式,最常用的是schedule,它可以以兩種方式執行任務:1:在某個時間(Data),2:在某個固定的時間之后(int delay).這兩種方式都可以指定任務執行的頻率.看個簡單的例子:

復制代碼 代碼如下:

import java.io.IOException;
import java.util.Timer;

public class TimerTest {

    public static void main(String[] args){
           Timer timer = new Timer();
        timer.schedule(new MyTask(), 1000, 2000);//在1秒后執行此任務,每次間隔2秒,如果傳遞一個Data參數,就可以在某個固定的時間執行這個任務.
        while(true){//這個是用來停止此任務的,否則就一直循環執行此任務了
            try {
                int ch = System.in.read();
                if(ch-'c'==0){
                    timer.cancel();//使用這個方法退出任務

                }
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

   
    static class MyTask extends java.util.TimerTask{
        @Override
        public void run() {
            // TODO Auto-generated method stub
            System.out.println("________");
        }
    }
    }

 如果你使用的是JDK 5+,還有一個scheduleAtFixedRate模 式可以用,在這個模式下,Timer會盡量的讓任務在一個固定的頻率下運行,舉例說明:在上面的例子中,我們想讓MyTask在1秒鐘后,每兩秒鐘執行一 次,但是因為java不是實時的(其實java實時性很差.....),所以,我們在上個程序中表達的原義并不能夠嚴格執行.如果我們調用的是 scheduleAtFixedRate,那么,Timer會盡量讓你的Task執行的頻率保持在2秒一次.運行上面的程序,假設使用的是 scheduleAtFixedRate,那么下面的場景就是可能的:1秒鐘后,MyTask 執行一次,因為系統繁忙,之后的2.5秒后MyTask 才得以執行第二次,然后,Timer記下了這個延遲,并嘗試在下一個任務的時候彌補這個延遲,那么,1.5秒后,MyTask 將執行的三次."以固定的頻率而不是固定的延遲時間去執行一個任務"

下面給出一個復雜點的例子,其中告訴大家怎么退出單個TimerTask,怎么退出所有Task

復制代碼 代碼如下:

package MyTimerTest;

import java.io.IOException;
import java.util.Timer;
/*
 * 本類給出了使用Timer和TimerTaske的主要方法,其中包括定制任務,添加任務
 * 退出任務,退出定時器.
 * 因為TimerTask的status域是包級可訪問的,所以沒有辦法在java.util.包外
 * 得到其狀態,這對編程造成一些不便 .我們不能判斷某個Task的狀態了.
 *
 */

public class TimerTest {

    public static void main(String[] args) {
        Timer timer = new Timer();
        MyTask myTask1 = new MyTask();
        MyTask myTask2 = new MyTask();
        myTask2.setInfo("myTask-2");
        timer.schedule(myTask1, 1000, 2000);
        timer.scheduleAtFixedRate(myTask2, 2000, 3000);
        while (true) {
 try {


                byte[] info = new byte[1024];
                int len = System.in.read(info);
                String strInfo = new String(info, 0, len, "GBK");//從控制臺讀出信息
                if (strInfo.charAt(strInfo.length() - 1) == ' ') {
                    strInfo = strInfo.substring(0, strInfo.length() - 2);
                }
                if (strInfo.startsWith("Cancel-1")) {                     myTask1.cancel();//退出單個任務
                    // 其實應該在這里判斷myTask2是否也退出了,是的話就應該break.但是因為無法在包外得到
                    // myTask2的狀態,所以,這里不能做出是否退出循環的判斷.
                } else if (strInfo.startsWith("Cancel-2")) {
      myTask2.cancel();
                } else if (strInfo.startsWith("Cancel-All")) {
                     timer.cancel();//退出Timer
                    break;
                } else {
                    // 只對myTask1作出判斷,偷個懶^_^
                    myTask1.setInfo(strInfo);
                }
            } catch (IOException e) {                 // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
 }

    static class MyTask extends java.util.TimerTask {
            String info = "^_^";

        @Override
        public void run() {


            // TODO Auto-generated method stub
            System.out.println(info);
        }
  public String getInfo() {
            return info;
        }

        public void setInfo(String info) {


            this.info = info;
        }

    }

}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
九九热在线精品视频| 一本色道久久88综合日韩精品| 亚洲欧美日韩图片| 久久久成人av| 91亚洲精品在线观看| 777777777亚洲妇女| 国产婷婷成人久久av免费高清| 亚洲人精选亚洲人成在线| 国产欧美一区二区白浆黑人| 欧美极度另类性三渗透| 欧美日韩一区二区三区| 色综合天天综合网国产成人网| 欧美尤物巨大精品爽| 欧美日韩一区二区在线播放| 亚洲欧美国产精品久久久久久久| 亚洲一级黄色片| 国产精品jizz在线观看麻豆| 8050国产精品久久久久久| 韩国19禁主播vip福利视频| 国产精品美女久久久久av超清| 狠狠爱在线视频一区| 国内伊人久久久久久网站视频| 中文字幕v亚洲ⅴv天堂| 日韩欧美aaa| 午夜精品一区二区三区在线播放| 欧美一级淫片aaaaaaa视频| 欧美一区二区三区图| 性色av香蕉一区二区| 亚洲国产精品久久久久| 色香阁99久久精品久久久| 国产美女直播视频一区| 亚洲欧美日韩爽爽影院| 亚洲激情 国产| 亚洲人成电影网站色| 欧美在线激情视频| 亚洲电影免费观看高清完整版在线| 国产精品电影一区| 精品欧美国产一区二区三区| 在线观看精品国产视频| 青青久久aⅴ北条麻妃| 亚洲一区二区三区在线免费观看| 国产美女精品视频| 亚洲美女视频网| 中文字幕v亚洲ⅴv天堂| 国产一区二区三区四区福利| 国产精品欧美一区二区三区奶水| 久久精品99久久久久久久久| 成人网欧美在线视频| 91精品久久久久久久| 2019av中文字幕| 亚洲国产黄色片| 国内精品久久久久| 在线午夜精品自拍| 亚洲精品久久久久久下一站| 日韩高清av在线| 欧美性猛交xxxx乱大交极品| 亚洲成人av在线| 高清欧美性猛交xxxx| 2019亚洲男人天堂| 国产午夜精品理论片a级探花| 日韩欧美亚洲成人| 亚洲成**性毛茸茸| 欧美成人国产va精品日本一级| 亚洲欧美制服另类日韩| 亚洲欧美中文字幕| 久久中文久久字幕| 国产欧美日韩精品丝袜高跟鞋| 日韩欧美一区二区在线| 国产精品黄视频| 成人做爰www免费看视频网站| 中文字幕亚洲一区在线观看| 欧美自拍大量在线观看| 日韩欧美精品中文字幕| 成人精品aaaa网站| 日韩精品在线观看一区二区| 久久成人精品视频| 国产精品av免费在线观看| 成人妇女免费播放久久久| 亚洲一二三在线| 国产精品久久久久7777婷婷| 日韩精品久久久久久福利| 亚洲一区二区免费| 欧美日韩一二三四五区| 91精品国产高清久久久久久91| 欧美成人免费小视频| 久久综合伊人77777| 日韩美女av在线免费观看| 久久国产精品偷| 国产精品自拍视频| 日韩av电影国产| 91av在线国产| 欧美日韩激情美女| 日韩在线小视频| 日韩一区二区三区在线播放| 综合国产在线视频| 国产午夜精品一区二区三区| 久久久国产一区| 亚洲精品久久久久久久久久久久| 日韩视频第一页| 国产专区精品视频| 国产精品极品尤物在线观看| 色综合天天狠天天透天天伊人| 色七七影院综合| 国产精品综合久久久| 日韩一区二区三区国产| 精品国产一区av| 2019中文在线观看| 久久久久久久久久久国产| 亚洲欧美激情四射在线日| 久久艳片www.17c.com| 欧美性极品xxxx做受| 不卡毛片在线看| 亚洲欧美中文日韩v在线观看| 免费不卡在线观看av| 麻豆国产精品va在线观看不卡| 97视频免费在线观看| 欧美日本啪啪无遮挡网站| 日产精品久久久一区二区福利| 亚洲成成品网站| 91亚洲一区精品| 成人啪啪免费看| 91av在线网站| 国产乱肥老妇国产一区二| 日韩中文字幕在线精品| 亚洲free嫩bbb| 91av在线播放| 伊人男人综合视频网| 久久久久久综合网天天| 伦伦影院午夜日韩欧美限制| 色诱女教师一区二区三区| 欧美自拍视频在线观看| 91亚洲精品一区二区| 亚洲精品国产精品久久清纯直播| 成人444kkkk在线观看| 欧美精品激情视频| 青青草99啪国产免费| 欧美性高潮在线| 91精品久久久久| 欧美黑人性猛交| 国产精品青青在线观看爽香蕉| 日日狠狠久久偷偷四色综合免费| 色香阁99久久精品久久久| 欧美在线视频一区二区| 欧美巨乳在线观看| 久久亚洲春色中文字幕| 欧美重口另类videos人妖| 上原亚衣av一区二区三区| 成人在线一区二区| 亚洲一区二区黄| 91干在线观看| 欧美精品激情视频| 欧美三级xxx| 国产一区二区三区免费视频| 国产成人aa精品一区在线播放| 精品久久香蕉国产线看观看gif| 欧美一区视频在线| 亚洲偷熟乱区亚洲香蕉av| 国产精品影院在线观看| 欧美激情精品久久久久久蜜臀| 黄网站色欧美视频| 91影院在线免费观看视频| 日韩毛片在线看| 国产欧美日韩丝袜精品一区| 欧美激情在线狂野欧美精品|