回覆列表
-
1 # 丫蛋樂一個52769586
-
2 # 草莓醬蘋果派
執行緒池原理
執行緒池狀態
執行緒池建立後處於RUNNING狀態。
一、執行緒池的處理流程
二、配置執行緒池大小配置
三、Java提供的四種執行緒池實現
總結
執行緒池狀態
執行緒池和執行緒一樣擁有自己的狀態,在ThreadPoolExecutor類中定義了一個volatile變數runState來表示執行緒池的狀態,執行緒池有四種狀態,分別為RUNNING、SHURDOWN、STOP、TERMINATED。
執行緒池建立後處於RUNNING狀態。
呼叫shutdown後處於SHUTDOWN狀態,執行緒池不能接受新的任務,會等待緩衝佇列的任務完成。
呼叫shutdownNow後處於STOP狀態,執行緒池不能接受新的任務,並嘗試終止正在執行的任務。
當執行緒池處於SHUTDOWN或STOP狀態,並且所有工作執行緒已經銷燬,任務快取佇列已經清空或執行結束後,執行緒池被設定為TERMINATED狀態。
執行緒池原理:預先啟動一些執行緒,執行緒無限迴圈從任務佇列中獲取一個任務進行執行,直到執行緒池被關閉。如果某個執行緒因為執行某個任務發生異常而終止,那麼重新建立一個新的執行緒而已,如此反覆。
-
3 # 使用者2335018214759316
include
#include
#include
int main(int argc, char *argv[])
{
//OleInitialize(0);
//CoInitialize(0);
QCoreApplication a(argc, argv);
QAxObject *asdfg = new QAxObject("Excel.Application");
return a.exec();
}
100使用者併發如何設定執行緒數?
2、修改server.xml檔案,增加maxThreads、minSpareThreads、maxSpareThreads、acceptCount
3、引數解釋
maxThreads=“1000” 最大併發數
minSpareThreads=“100”///初始化時建立的執行緒數
maxSpareThreads=“500”///一旦建立的執行緒超過這個值,Tomcat就會關閉不再需要的socket執行緒。
acceptCount=“700”// 指定當所有可以使用的處理請求的執行緒數都被使用時,可以放到處理佇列中的請求數,超過這個數的請求將不予處理
4、注意:執行緒數的增加會增加Tomcat記憶體使用,每個執行緒都會佔用一定的jvm記憶體。