多執行緒(一) tomcat 多執行緒

2021-09-01 22:58:50 字數 1120 閱讀 2670

web server允許的最大執行緒連線數還受制於作業系統的核心引數設定,通常windows是2000個左右,linux是1000個左右。

1.編輯tomcat安裝目錄下的conf目錄下的server.xml檔案

maxthreads="150" 表示最多同時處理150個連線,tomcat使用執行緒來處理接收的每個請求。這個值表示tomcat可建立的最大的執行緒數。預設值200。

minsparethreads="25" 表示即使沒有人使用也開這麼多空執行緒等待

maxsparethreads="75" 表示如果最多可以空75個執行緒,例如某時刻有80人訪問,之後沒有人訪問了,則tomcat不會保留80個空執行緒,而是關閉5個空的。 (一旦建立的執行緒超過這個值,tomcat就會關閉不再需要的socket執行緒。預設值50。

)acceptcount="100" 當同時連線的人數達到maxthreads時,還可以接收排隊的連線數量,超過這個連線的則直接返回拒絕連線。(指定當任何能夠使用的處理請求的執行緒數都 被使用時,能夠放到處理佇列中的請求數,超過這個數的請求將不予處理。預設值10。 )

其中和最大連線數相關的引數為maxthreads和acceptcount。如果要加大併發連線數,應同時加大這兩個引數。

web server允許的最大連線數還受制於作業系統的核心引數設定,通常windows是2000個左右,linux是1000個左右。tomcat5中的配置示例:

對於其他埠的偵聽配置,以此類推。

執行緒池一般有三個重要引數:

1. 最大執行緒數。在程式執行的任何時候,執行緒數總數都不會超過這個數。如果請求數量超過最大數時,則會等待其他執行緒結束後再處理。

2. 最大共享執行緒數,即最大空閒執行緒數。如果當前的空閒執行緒數超過該值,則多餘的執行緒會被殺掉。

3. 最小共享執行緒數,即最小空閒執行緒數。如果當前的空閒數小於該值,則一次性建立這個數量的空閒執行緒,所以它本身也是乙個建立執行緒的步長。

執行緒池有兩個概念:

1. worker執行緒。工作執行緒主要是執行執行**,有兩種狀態:空閒狀態和執行狀態。在空閒狀態時,類似「休眠」,等待任務;處理執行狀態時,表示正在執行任務(runnable)。

2. 輔助線程。主要負責監控執行緒池的狀態:空閒執行緒是否超過最大空閒執行緒數或者小於最小空閒執行緒數等。如果不滿足要求,就調整之。

多執行緒 理解多執行緒(一)

程序 程序是cpu分配資源的基本單位 執行緒 執行緒是cpu排程的基本單位 資源分配給程序,所有執行緒共享該程序的資源 當執行緒數大於cpu的數量,會出現時間片的輪詢。cpu時間片是直接分配給執行緒的,執行緒拿到cpu時間片就能執行了 cpu時間片不是先分給程序然後再由程序分給程序下的執行緒的。所有...

多執行緒 多執行緒原理

我們首先要知道什麼是多執行緒,說白了就是多個執行緒,執行緒是什麼呢,其實就是程序執行的途徑,那麼說道這裡我們又引入了乙個新的名字,就是程序,那麼我們來看看什麼是程序,其實我們自己也能看到,啟動電腦的任務管理器,我們就可以看到程序選項,裡面是我們電腦所有的程序,我們會發現有很多的程序.簡單地說就是程序...

多執行緒學習總結(一) 認識多執行緒

而唯一看到的多執行緒 也是再專案中看到了別人寫的多執行緒 那時想要寫乙個和多執行緒相關的 基本是一模一樣的仿照著寫,出了一點問題也搞不懂問題在 所以就一直迷迷糊糊了一段時間,後來感覺有必要把這塊搞懂,就自己慢慢的找資料學習了。廢話就講這麼多,其實要學習多執行緒相關的,首先要搞清楚乙個概念,什麼是執行...