<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)航:
     
     
    主站蜘蛛池模板: 久久99热精品免费观看牛牛| 日韩色日韩视频亚洲网站 | 四虎成人免费影院网址| 97久久精品亚洲中文字幕无码 | 免费无码AV一区二区| 日韩精品视频免费网址| 亚洲影院天堂中文av色| 嫩草视频在线免费观看| 久久亚洲精品无码gv| 免费国内精品久久久久影院| 四虎影视久久久免费| 一级一黄在线观看视频免费| 青青草原亚洲视频| 欧洲人免费视频网站在线| 亚洲综合无码一区二区| 国产片AV片永久免费观看| 亚洲人成网站999久久久综合| 永久免费观看的毛片的网站| 黄色毛片免费在线观看| 亚洲狠狠成人综合网| 免费A级毛片无码免费视| 亚洲欧美国产国产一区二区三区| 国产性生交xxxxx免费| jizz免费观看视频| 精品免费国产一区二区| 深夜久久AAAAA级毛片免费看| 亚洲综合无码AV一区二区| 最近中文字幕国语免费完整| 亚洲中文无码卡通动漫野外| 亚洲国产精品无码久久九九| 国产精品亚洲四区在线观看| 国产精品免费看久久久| 学生妹亚洲一区二区| 亚洲成a人无码av波多野按摩 | 亚洲变态另类一区二区三区| 日本在线高清免费爱做网站| 精品在线视频免费| 久久亚洲美女精品国产精品 | 毛片网站免费在线观看| 国产国产人免费人成成免视频| 亚洲首页在线观看|