国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種可動(dòng)態(tài)調(diào)節(jié)尺寸的線程池的制作方法

      文檔序號(hào):6542980閱讀:430來(lái)源:國(guó)知局
      一種可動(dòng)態(tài)調(diào)節(jié)尺寸的線程池的制作方法
      【專利摘要】本發(fā)明提供一種可動(dòng)態(tài)調(diào)節(jié)尺寸的線程池,屬于計(jì)算機(jī)領(lǐng)域,本發(fā)明該線程池適用于需要大量的線程來(lái)完成任務(wù),且完成任務(wù)的時(shí)間比較短的情況;對(duì)性能要求苛刻的應(yīng)用,節(jié)省創(chuàng)建、銷毀線程的時(shí)間消耗;突發(fā)性的大量請(qǐng)求,不至于使服務(wù)器因此產(chǎn)生大量線程的應(yīng)用。該線程池組成包括四部分,一是線程管理模塊用于管理線程、分配任務(wù),二是任務(wù)管理模塊用于管理調(diào)度任務(wù),三是任務(wù)緩存區(qū)用于緩存來(lái)自用戶下發(fā)的任務(wù),四是配置文件解析模塊用于解析線程管理模塊和任務(wù)管理模塊使用的配置文件。本發(fā)明提高線程創(chuàng)建、銷毀效率,解決任務(wù)因線程創(chuàng)建失敗無(wú)法執(zhí)行問(wèn)題,保證程序高效穩(wěn)定運(yùn)行。
      【專利說(shuō)明】一種可動(dòng)態(tài)調(diào)節(jié)尺寸的線程池
      [0001]【技術(shù)領(lǐng)域】
      本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種可動(dòng)態(tài)調(diào)節(jié)尺寸的線程池。
      【背景技術(shù)】
      [0002]在面向?qū)ο缶幊讨?,?chuàng)建和銷毀對(duì)象是很費(fèi)時(shí)間的,因?yàn)閯?chuàng)建一個(gè)對(duì)象要獲取內(nèi)存資源或者其它更多資源。所以提高服務(wù)程序效率的一個(gè)手段就是盡可能減少創(chuàng)建和銷毀對(duì)象的次數(shù),特別是一些很耗資源的對(duì)象創(chuàng)建和銷毀。如何利用已有對(duì)象來(lái)服務(wù)就是一個(gè)需要解決的關(guān)鍵問(wèn)題。

      【發(fā)明內(nèi)容】

      [0003]線程池作用就是限制系統(tǒng)中執(zhí)行線程的數(shù)量。根據(jù)系統(tǒng)的環(huán)境情況,可以自動(dòng)或手動(dòng)設(shè)置線程數(shù)量,達(dá)到運(yùn)行的最佳效果;少了浪費(fèi)了系統(tǒng)資源,多了造成系統(tǒng)擁擠效率不高。用線程池控制線程數(shù)量,其他線程排隊(duì)等候。一個(gè)任務(wù)執(zhí)行完畢,再?gòu)年?duì)列的中取最前面的任務(wù)開(kāi)始執(zhí)行。若隊(duì)列中沒(méi)有等待進(jìn)程,線程池的這一資源處于等待。當(dāng)一個(gè)新任務(wù)需要運(yùn)行時(shí),如果線程池中有等待的工作線程,就可以開(kāi)始運(yùn)行了 ;否則進(jìn)入等待隊(duì)列。
      [0004]本發(fā)明使用一種可動(dòng)態(tài)調(diào)節(jié)尺寸的線程池,提高線程執(zhí)行效率,減少系統(tǒng)資源消耗。本線程池采用線程重用緩存管理加任務(wù)調(diào)度管理相結(jié)合的方法來(lái)進(jìn)行線程池管理,主要包括:
      (I)線程管理模塊
      線程管理模塊中包含兩個(gè)鏈表,一個(gè)是未使用線程鏈表,用于保存未使用的線程信息;另一個(gè)是已使用線程鏈表,用于保存已使用的線程信息。
      [0005]a)增加線程
      在未使用線程鏈表中查找未使用的線程信息,然后添加到已使用線程鏈表中。
      [0006]b)刪除線程
      在已使用線程鏈表中查找處于休眠狀態(tài)的線程,然后將其移動(dòng)到未使用鏈表中。
      [0007]c)任務(wù)處理超時(shí)機(jī)制
      線程在執(zhí)行任務(wù)處理過(guò)程中,若遇阻塞,會(huì)按用戶指定的超時(shí)時(shí)間等待,若超時(shí)仍無(wú)響應(yīng),則該線程會(huì)被終止,并重新創(chuàng)建線程填補(bǔ)被終止的線程。
      [0008]d)線程休眠/激活
      當(dāng)線程獲取到任務(wù)時(shí),會(huì)將該線程激活。待其處理完任務(wù)后,將其置成休眠。
      [0009]e)線程分配任務(wù)機(jī)制
      線程從任務(wù)管理模塊中獲取未處理任務(wù),并執(zhí)行該任務(wù)。
      [0010](2)任務(wù)管理模塊
      任務(wù)管理模塊中有一個(gè)任務(wù)鏈表,用于保存待處理的任務(wù)信息。
      [0011]a)增加任務(wù)
      將任務(wù)緩存中的任務(wù),添加到任務(wù)管理模塊中的任務(wù)鏈表中。[0012]b)刪除任務(wù)
      線程管理模塊獲取任務(wù)時(shí),從任務(wù)管理模塊中的任務(wù)鏈表中刪除任務(wù)。
      [0013]c)調(diào)節(jié)線程池尺寸
      根據(jù)配置文件中的配置信息,動(dòng)態(tài)調(diào)節(jié)線程池的尺寸,也就是線程管理模塊中的線程數(shù)。
      [0014]d)調(diào)度任務(wù)緩存中的任務(wù)
      任務(wù)管理模塊從任務(wù)緩沖區(qū)中查找優(yōu)先級(jí)較高的任務(wù),放入自己的任務(wù)鏈表中優(yōu)先處理。
      [0015](3)任務(wù)緩沖區(qū)
      任務(wù)緩存區(qū)中有一個(gè)任務(wù)鏈表,用于緩存用戶傳入的任務(wù)信息。
      [0016]a)增加任務(wù)
      將用戶輸入信息增加到任務(wù)緩存區(qū)的任務(wù)鏈表中。
      [0017]b)刪除任務(wù)
      當(dāng)任務(wù)管理模塊調(diào)度任務(wù)緩存區(qū)任務(wù)時(shí),從任務(wù)緩存區(qū)的任務(wù)鏈表中刪除任務(wù),并增加到任務(wù)管理模塊中的任務(wù)列表中。
      [0018](4)配置文件管理模塊
      配置文件管理模塊,用于讀取線程池配置文件,并解析配置文件。配置文件中會(huì)標(biāo)明哪個(gè)數(shù)量范圍內(nèi)的任務(wù)使用什么樣的線程池尺寸。從而保證線程池的效率最優(yōu)。
      [0019]本發(fā)明與現(xiàn)有技術(shù)相比,所產(chǎn)生的有益效果是:
      通過(guò)引入本線程池管理,會(huì)減少了創(chuàng)建和銷毀線程的次數(shù),每個(gè)工作線程都可以被重復(fù)利用,可執(zhí)行多個(gè)任務(wù);可以根據(jù)系統(tǒng)的承受能力,調(diào)整線程池中工作線線程的數(shù)目,防止因?yàn)橐驗(yàn)橄倪^(guò)多的內(nèi)存,而把服務(wù)器累趴下(每個(gè)線程需要大約IMB內(nèi)存,線程開(kāi)的越多,消耗的內(nèi)存也就越大,最后死機(jī));減少了創(chuàng)建和銷毀線程的次數(shù),提高了效率;每個(gè)工作線程都可以被重復(fù)利用,可執(zhí)行多個(gè)任務(wù)。
      【專利附圖】

      【附圖說(shuō)明】
      [0020]附圖1是本發(fā)明的模塊結(jié)構(gòu)圖。
      【具體實(shí)施方式】
      [0021]線程池采用線程重用緩存管理加任務(wù)調(diào)度管理相結(jié)合的方法來(lái)進(jìn)行線程池管理,主要包括:
      I)、線程管理模塊
      線程管理模塊中包含兩個(gè)鏈表,一個(gè)是未使用線程鏈表,用于保存未使用的線程信息;另一個(gè)是已使用線程鏈表,用于保存已使用的線程信息。
      [0022]f)增加線程
      在未使用線程鏈表中查找未使用的線程信息,然后添加到已使用線程鏈表中。
      [0023]g)刪除線程
      在已使用線程鏈表中查找處于休眠狀態(tài)的線程,然后將其移動(dòng)到未使用鏈表中。
      [0024]h)任務(wù)處理超時(shí)機(jī)制 線程在執(zhí)行任務(wù)處理過(guò)程中,若遇阻塞,會(huì)按用戶指定的超時(shí)時(shí)間等待,若超時(shí)仍無(wú)響應(yīng),則該線程會(huì)被終止,并重新創(chuàng)建線程填補(bǔ)被終止的線程。
      [0025]i)線程休眠/激活
      當(dāng)線程獲取到任務(wù)時(shí),會(huì)將該線程激活。待其處理完任務(wù)后,將其置成休眠。
      [0026]j)線程分配任務(wù)機(jī)制
      線程從任務(wù)管理模塊中獲取未處理任務(wù),并執(zhí)行該任務(wù)。
      [0027]2)、任務(wù)管理模塊
      任務(wù)管理模塊中有一個(gè)任務(wù)鏈表,用于保存待處理的任務(wù)信息。
      [0028]e)增加任務(wù)
      將任務(wù)緩存中的任務(wù),添加到任務(wù)管理模塊中的任務(wù)鏈表中。
      [0029]f)刪除任務(wù)
      線程管理模塊獲取任務(wù)時(shí),從任務(wù)管理模塊中的任務(wù)鏈表中刪除任務(wù)。
      [0030]g)調(diào)節(jié)線程池尺寸
      根據(jù)配置文件中的配置信息,動(dòng)態(tài)調(diào)節(jié)線程池的尺寸,也就是線程管理模塊中的線程數(shù)。
      [0031]h)調(diào)度任務(wù)緩存中的任務(wù)
      任務(wù)管理模塊從任務(wù)緩沖區(qū)中查找優(yōu)先級(jí)較高的任務(wù),放入自己的任務(wù)鏈表中優(yōu)先處理。
      [0032]3)、任務(wù)緩沖區(qū)
      任務(wù)緩存區(qū)中有一個(gè)任務(wù)鏈表,用于緩存用戶傳入的任務(wù)信息。
      [0033]c)增加任務(wù)
      將用戶輸入信息增加到任務(wù)緩存區(qū)的任務(wù)鏈表中。
      [0034]d)刪除任務(wù)
      當(dāng)任務(wù)管理模塊調(diào)度任務(wù)緩存區(qū)任務(wù)時(shí),從任務(wù)緩存區(qū)的任務(wù)鏈表中刪除任務(wù),并增加到任務(wù)管理模塊中的任務(wù)列表中。
      [0035]6)、配置文件管理模塊
      配置文件管理模塊,用于讀取線程池配置文件,并解析配置文件。配置文件中會(huì)標(biāo)明哪個(gè)數(shù)量范圍內(nèi)的任務(wù)使用什么樣的線程池尺寸。從而保證線程池的效率最優(yōu)。
      [0036]線程管理模塊負(fù)責(zé)管理線程、分配任務(wù);任務(wù)管理模塊負(fù)責(zé)管理任務(wù)、調(diào)度任務(wù)、調(diào)節(jié)線程池尺寸;任務(wù)緩存區(qū)負(fù)責(zé)管理用戶輸入信息;配置文件管理負(fù)責(zé)讀取、解析線程池配置文件。
      【權(quán)利要求】
      1.一種可動(dòng)態(tài)調(diào)節(jié)尺寸的線程池,其特征在于該線程池組成包括四部分,一是線程管理模塊用于管理線程、分配任務(wù),二是任務(wù)管理模塊用于管理調(diào)度任務(wù),三是任務(wù)緩存區(qū)用于緩存來(lái)自用戶下發(fā)的任務(wù),四是配置文件解析模塊用于解析線程管理模塊和任務(wù)管理模塊使用的配置文件;采用線程重用緩存管理加任務(wù)調(diào)度管理相結(jié)合的方法來(lái)進(jìn)行線程池管理。
      2.根據(jù)權(quán)利要求1所述的方法,其特征在于所述線程管理模塊中包含兩個(gè)鏈表,一個(gè)是未使用線程鏈表,用于保存未使用的線程信息;另一個(gè)是已使用線程鏈表,用于保存已使用的線程信息;線程管理模塊包括:增加線程、刪除線程、線程休眠/激活、線程分配機(jī)制、任務(wù)處理超時(shí)機(jī)制。
      3.根據(jù)權(quán)利要求1所述的方法,其特征在于所述任務(wù)管理模塊中有一個(gè)任務(wù)鏈表,用于保存待處理的任務(wù)信息;任務(wù)管理模塊包括:增加任務(wù)、刪除任務(wù)、調(diào)節(jié)線程池尺寸、調(diào)度任務(wù)緩存中的任務(wù)。
      4.根據(jù)權(quán)利要求1所述的方法,其特征在于所述任務(wù)緩存區(qū)中有一個(gè)任務(wù)鏈表,用于緩存用戶傳入的任務(wù)信息;任務(wù)緩存區(qū)包括:增加任務(wù)、刪除任務(wù)。
      5.根據(jù)權(quán)利要 求1所述的方法,其特征在于所述配置文件管理模塊包括:讀取線程池配置文件、解析線程池配置文件。
      【文檔編號(hào)】G06F9/46GK103902361SQ201410134889
      【公開(kāi)日】2014年7月2日 申請(qǐng)日期:2014年4月4日 優(yōu)先權(quán)日:2014年4月4日
      【發(fā)明者】周博, 孟憲偉, 王旭 申請(qǐng)人:浪潮電子信息產(chǎn)業(yè)股份有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1