public class test
threadpooltaskexecutor executor = new threadpooltaskexecutor();
//配置核心執行緒數
executor.setcorepoolsize(corecount);
//配置最大執行緒數
executor.setmaxpoolsize(maxcount);
//配置佇列大小
executor.setqueuecapacity(queuelength);
//配置執行緒池中的執行緒的名稱字首
executor.setthreadnameprefix(nameprofile + "tp-");
executor.setrejectedexecutionhandler(rejectedexecutionhandler);
executor.initialize();
return executor;
}/**
* 獲得乙個執行緒池,超出策略為在當前執行緒執行
* @param corecount 核心執行緒數量
* @param maxcount 最大執行緒數量
* @param queuelength 佇列長度
* @param nameprofile 執行緒名字字首
* @return threadpooltaskexecutor
*/public static threadpooltaskexecutor buildthreadpool(int corecount, int maxcount, int queuelength, string nameprofile)
public static void main(string args)
}}
public class runnables implements runnable catch (interruptedexception e)
}else
}public runnables(int i)
}
基本上就是 專案啟動建立核心執行緒數,當任務達到佇列數時,會在核心執行緒數之外建立 核心執行緒數到最大執行緒數個執行緒:
具體解釋檢視 : 文章給到啟發 自己做了測試。
關於java執行緒池
假設初始化乙個執行緒池,核心執行緒池數 corepoolsize 是5,最大執行緒數 maxpoolsize 是10 初始化的時候執行緒池裡是空的。阻塞佇列裡面也沒有任務 當來了乙個任務時,執行緒池中初始化乙個執行緒,再來乙個任務就在初始化乙個,當執行緒數量達到5個時,第6個任務就會放到阻塞佇列中,...
執行緒池相關
介面 executor,executorservice,scheduledexecutorservice 抽象類 abstractexecutorservice 類 threadpoolexecutor,scheduledthreadpoolexecutor 1.分析threadpoolexecut...
Java執行緒池
executors類詳解 此包中所定義的 executor executorservice scheduledexecutorservice threadfactory 和 callable 類的工廠和實用方法。此類支援以下各種方法 建立並返回設定有常用配置字串的 executorservice 的...