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

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

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

    竹十一
    在匆忙與奔走中墮落
    關(guān)于Timer運(yùn)行時(shí)修改系統(tǒng)時(shí)間

    對(duì)Sun JDK的Timer來說,系統(tǒng)時(shí)間修改到當(dāng)前時(shí)間之后,不會(huì)影響Timer的執(zhí)行;但是如果系統(tǒng)時(shí)間修改到當(dāng)前時(shí)間之前,就會(huì)導(dǎo)致Timer掛起。

    下面這段代碼就是根本原因了(取自sun jdk1.4.2 source code, java.util.Timer#mainLoop() line 415~426):

        currentTime 
    = System.currentTimeMillis();
        executionTime 
    = task.nextExecutionTime;
        
    if (taskFired = (executionTime<=currentTime)) {
            
    if (task.period == 0) { // Non-repeating, remove
                queue.removeMin();
                task.state 
    = TimerTask.EXECUTED;
            } 
    else { // Repeating task, reschedule
                queue.rescheduleMin(
                  task.period
    <0 ? currentTime   - task.period
                                : executionTime 
    + task.period);
            }
        }

        注:period就是TimeTask初始化時(shí)設(shè)定的執(zhí)行間隔,taskFired是個(gè)boolean。
       
    從這段代碼可以看出,TimerTask執(zhí)行的條件是(executionTime<=currentTime)。其中executionTime取自TimerTask,而currentTime來自系統(tǒng)時(shí)間。原因就在于此,currentTime因?yàn)樾薷南到y(tǒng)時(shí)間而提前了,所以這個(gè)條件(executionTime<=currentTime)永遠(yuǎn)也不會(huì)達(dá)到,TimerTask將不會(huì)被執(zhí)行。

    避免方法:在修改系統(tǒng)時(shí)間后重新啟動(dòng)應(yīng)用:)


    posted on 2007-12-04 16:40 竹十一 閱讀(4989) 評(píng)論(2)  編輯  收藏 所屬分類: JSE
    Comments
    • # re: 關(guān)于Timer運(yùn)行時(shí)修改系統(tǒng)時(shí)間
      北京時(shí)間
      Posted @ 2008-12-30 13:02
      TimerTask將不會(huì)被執(zhí)行。  回復(fù)  更多評(píng)論   
    • # re: 關(guān)于Timer運(yùn)行時(shí)修改系統(tǒng)時(shí)間[未登錄]
      aa
      Posted @ 2009-07-27 15:14
      好象不是,timer停止一段時(shí)間后又重新開始.我使用jdk1.6測(cè)試的,但是代碼和 jdk1.4.2 source code中的一樣.  回復(fù)  更多評(píng)論   

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
     
    主站蜘蛛池模板: 一级A毛片免费观看久久精品| 国产亚洲sss在线播放| 青青草97国产精品免费观看 | 久久精品乱子伦免费| 伊人久久综在合线亚洲91| 一区二区免费国产在线观看 | 亚洲视频在线观看不卡| 97免费人妻在线视频| 亚洲成人福利在线观看| 黄瓜视频影院在线观看免费| 美女视频黄免费亚洲| 日本黄色免费观看| 四虎影视久久久免费| 亚洲午夜国产精品无码老牛影视| 在线观看免费视频一区| 亚洲专区在线视频| 久久久久久久久免费看无码| 青青青亚洲精品国产| 亚洲天堂在线视频| 免费国产黄网站在线观看可以下载 | 亚洲啪啪免费视频| 亚洲欧洲免费无码| 亚洲精品成人在线| 国产精品视频白浆免费视频| 亚洲人成免费电影| 青青青国产色视频在线观看国产亚洲欧洲国产综合| 国产亚洲综合视频| 亚洲图片在线观看| 日本二区免费一片黄2019| 久久国产精品免费| 亚洲三级视频在线观看| 亚洲精品麻豆av| 久久成人国产精品免费软件| 国产精品亚洲а∨天堂2021| 亚洲gv白嫩小受在线观看| 国产美女在线精品免费观看| EEUSS影院WWW在线观看免费| 亚洲国产精品张柏芝在线观看| 免费国产不卡午夜福在线| 18禁美女裸体免费网站 | 亚洲日产无码中文字幕|