1、配置檔案中配置執行緒池
class="org.springframework.scheduling.concurrent.threadpooltaskexecutor">
corepoolsize:執行緒池至少有2個執行緒是啟動的,即使是空閒的也不會關閉。
maxpoolsize:最大的執行緒數目,當corepoolsize繁忙時,會建立執行緒,啟動的總的執行緒數不能大於maxpoolsize
queuecapacity:queuecapacity: 佇列大小,當corepoolsize沒有空閒執行緒的時候,允許queuecapacity個執行緒任務等待,queuecapacity佇列滿時,才會在corepoolsize的基礎上,maxpoolsize之內進行新的執行緒的建立。
keepaliveseconds: 單位毫秒,超過這個時間後會將大於corepoolsize的執行緒關閉
rejectedexecutionhandler: 拒絕執行任務的具體操作策略,abortpolicy表示丟擲rejectedexecutionexception異常。還有其他的幾種選擇。callerrunspolicy:主線程執行該任務,執行完之後嘗試新增下乙個任務到執行緒池中,可以有效降低向執行緒池內新增任務的速度。
2、使用執行緒池的實現類
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.core.task.taskexecutor;
public class threadpooltest {
@autowired
private taskexecutor taskexecutor;// 執行緒池
//也可以用如下方式引入執行緒池
//@resource(name = "taskexecutor")//
private taskexecutor taskexecutor;
// 將建立的執行緒新增到執行緒池中
public void test() throws exception {
for (int i = 0; i < 10; i++) {
//執行緒類
@override
public void run() {
system.out.println("執行執行緒");
//業務**
java多執行緒,spring配置執行緒池
實際專案中用到多執行緒,提供spring配置執行緒池完整 如下 本專案用的jar包為基本的spring配置jar包 1 properties配置檔案中線程池引數 taskexecutor.corepoolsize 100 taskexecutor.keepaliveseconds 10 taskex...
Spring 執行緒池
spring 執行緒池 從例子開始講 corepoolsize 執行緒池至少有2個執行緒是啟動的,即使是空閒的也不會關閉。maxpoolsize 最大的執行緒數目,當corepoolsize繁忙時,會建立執行緒,啟動的總的執行緒數不能大於maxpoolsize queuecapacity queue...
Spring整合執行緒池
自己在程式中手動new很容易造成執行緒濫用,建立執行緒也是比較消耗資源的操作,所以建議如果有此需求,將執行緒池統一交給spring框架進行管理。如下 bean id taskexecutor class org.springframework.scheduling.concurrent.thread...