<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    瘋狂

    STANDING ON THE SHOULDERS OF GIANTS
    posts - 481, comments - 486, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    Timer的使用

    Posted on 2010-01-14 14:06 瘋狂 閱讀(778) 評論(1)  編輯  收藏 所屬分類: java

    Timer類是用來執(zhí)行任務(wù)的類,它接受一個TimerTask做參數(shù)

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


        
    public static void main(String[] args) throws InterruptedException {
            Timer timer 
    = new Timer();
            
            timer.schedule(
    new TimerTask() {
                
                @Override
                
    public void run() {
                    
                    System.out.print(
    "|"+new Random().nextInt(10));
                    
                }

            }
    1000,1000);
            Thread.sleep(
    5000);
            timer.cancel();
        }

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

     上面程序的修改:

    public static void main(String[] args) throws InterruptedException {
            Timer timer 
    = new Timer();
            
            timer.scheduleAtFixedRate(
    new TimerTask() {
                
                @Override
                
    public void run() {
                    
                    System.out.print(
    "|"+new Random().nextInt(10));
                    
                }

            }
    1000,1000);
            Thread.sleep(
    5000);
            timer.cancel();
        }

    評論

    # re: Timer的使用  回復(fù)  更多評論   

    2015-07-07 10:22 by 5
    主站蜘蛛池模板: 亚洲中文字幕久久精品无码APP| 国产午夜影视大全免费观看| 中文字幕在线亚洲精品| 亚洲人AV在线无码影院观看| 男男AV纯肉无码免费播放无码 | 亚洲综合区图片小说区| 91青青国产在线观看免费| 亚洲欧洲日产国码久在线观看| 久久国产精品一区免费下载| 久久夜色精品国产噜噜噜亚洲AV | 456亚洲人成在线播放网站| 成年在线观看网站免费| 亚洲综合精品成人| 日韩在线免费看网站| 黄色免费网址在线观看| 亚洲精品无码专区在线在线播放| 无码人妻AV免费一区二区三区| 久久久久亚洲AV成人片| 久久久久久久久免费看无码| 亚洲av纯肉无码精品动漫| 亚洲中文字幕无码中文字在线| 日本免费高清视频| 亚洲中文字幕人成乱码| 国产嫩草影院精品免费网址| 少妇性饥渴无码A区免费 | 成年女人毛片免费播放人| 美女18一级毛片免费看| 亚洲AV无码专区亚洲AV伊甸园| 全免费毛片在线播放| 亚洲av无码成人影院一区| 亚洲线精品一区二区三区影音先锋 | 97青青草原国产免费观看| 国产精品亚洲片在线va| 国产精品久久久久影院免费| 伊人久久大香线蕉免费视频| 亚洲国产成人久久精品app| 免费人成网站在线播放| 亚洲一区二区三区免费视频| 男男gvh肉在线观看免费| 亚洲综合激情九月婷婷| 亚洲AV无码乱码在线观看|