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

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

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

    posts - 241,  comments - 116,  trackbacks - 0

    本月 Tomcat 7.0.14版本正式發(fā)布,其最顯著的一個新功能就是引入了 StuckThreadDetectionValve功能,該功能可以幫助分析和檢查耗時的請求或潛在可能會出現(xiàn)請求線程阻塞等情況。

        StuckThreadDetectionValve(阻塞線程檢測 )功能是通過擴展 Tomcat的 Valve機制進行實現(xiàn)。下面是針對此塊代碼的實現(xiàn)主要源代碼進行的分析,來探究一下該功能的實現(xiàn)原理。2011大智慧下載

       下面是核心的代碼片段,但從實現(xiàn)思路上還是比較好理解的,針對所有的 tomcat請求,該 valve都會攔截,并到當?shù)膱?zhí)行的線程通過一個引入進行保存,記錄開始時間。同時啟動 MonitoredThread 線程對當前請求線程的運行時間進行檢測,一旦出現(xiàn)超出設(shè)置的時候值,則會進行保存,這樣可以就很容易的獲取那些效率低下的請求線程情況。

    體類圖如下:

    以下是幾個重要的全局屬性:

    stuckCount 可能為阻塞的線程數(shù)

    threshold 阻塞線程判斷的運行時間的依據(jù),超過該時間上限,則將環(huán)境該線程為阻塞線程

    activeThreads 當前正在運行中的線程

    completedStuckThreadsQueue 已經(jīng)執(zhí)行完成的阻塞線程情況

    invoke 方法代碼如下:


    把所有請求的線程都放置到 activeThreads Map 對象中,在執(zhí)行完成后,進行清除。

    接下來,復寫 backgroundProcess方法 , 對線程的運行狀態(tài)和時間進行檢測,一旦有發(fā)現(xiàn)阻塞嫌疑,則進行記錄。

    至此實現(xiàn)原理已經(jīng)介紹完成。完整的代碼實現(xiàn)可以參見 Tomcat 7源碼
    posted on 2011-05-26 11:54 墻頭草 閱讀(243) 評論(0)  編輯  收藏

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


    網(wǎng)站導航:
     
    人人游戲網(wǎng) 軟件開發(fā)網(wǎng) 貨運專家
    主站蜘蛛池模板: 一级毛片无遮挡免费全部| 青娱乐在线视频免费观看| 免费国产成人α片| 亚洲国产精品成人精品无码区| a高清免费毛片久久| 国产AV无码专区亚洲AV手机麻豆 | 97se亚洲综合在线| 4399影视免费观看高清直播| 4444亚洲国产成人精品| AV无码免费永久在线观看| 亚洲一区中文字幕在线观看| 国内免费高清在线观看| 亚洲一区二区三区丝袜| 国产午夜免费秋霞影院| 日本精品久久久久久久久免费| 亚洲午夜无码片在线观看影院猛| 久久久久国色AV免费观看| 久久亚洲精品无码| 青青在线久青草免费观看| 风间由美在线亚洲一区| 国产亚洲日韩在线三区| 日韩中文字幕免费视频| 在线观看亚洲AV日韩AV| 亚洲国产精品毛片av不卡在线 | 国产一区二区免费| 亚洲国产精品线观看不卡| 日韩免费无码一区二区视频| 一级毛片免费播放视频| 亚洲AV日韩AV天堂一区二区三区| 免费在线视频你懂的| 亚洲AV永久无码精品放毛片| 中文国产成人精品久久亚洲精品AⅤ无码精品| 99在线热播精品免费99热| 中文字幕亚洲第一在线| 在线视频免费国产成人| 日本免费高清视频| 亚洲av日韩专区在线观看| 亚洲AV成人精品网站在线播放 | 另类免费视频一区二区在线观看| 亚洲香蕉久久一区二区三区四区| 亚洲午夜精品一级在线播放放|