執行緒先達到corepoolsize, 達到了去排隊 ,佇列滿了就去新建執行緒,達到了maxpoolsize ,就執行拒絕策略了。
所以大家在取queuesize的時候,就要取getthreadpoolexecutor().getpoolsize(),getthreadpoolexecutor().getqueue().size()值和。判斷是否超出佇列的時候,就要判斷queuecapacity,maxpoolsize之和。
threadpooltaskexecutor thread=new threadpooltaskexecutor();
thread.setcorepoolsize(3);
thread.setkeepaliveseconds(10);
thread.setmaxpoolsize(10);
thread.setqueuecapacity(50);
thread.initialize();
int queuesize = thread.getthreadpoolexecutor().getpoolsize()+thread.getthreadpoolexecutor().getqueue().size();
while (queuesize >= 60) catch (interruptedexception e)
queuesize = thread.getthreadpoolexecutor().getqueue().size()+thread.getthreadpoolexecutor().getpoolsize();
}
多執行緒問題
問題描述 有4個執行緒和1個公共的字元陣列。執行緒1的功能就是向陣列輸出a,執行緒2的功能就是向字元輸出b,執行緒3的功能就是向陣列輸出c,執行緒4的功能就是向陣列輸出d。要求按順序向陣列賦值abcdabcdabcd,abcd的個數由執行緒函式1的引數指定。注 c語言選手可使用windows sdk...
多執行緒問題
程式 是由多個程序組成的。可以理解為靜態的 程序 可以理解為執行中的程式。執行緒 是組成程序的單元,乙個程序中有多個執行緒。我們經常把執行緒看做是程序中的某乙個任務。方式一 繼承乙個thread類 方式二 實現乙個runnable介面 兩種方式相比較,哪個能好點那?一般建議是實現runnable介面...
多執行緒問題
多執行緒的實現方式 1.繼承thread類 2.實現runnable介面 3.實現callable介面 資源類實現callable介面,main方法中 futuretask ft new futuretask 實現callable介面的資源類的物件 new thread ft,threadname ...