Spring執行緒池配置

2021-09-02 13:24:17 字數 1226 閱讀 3539

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...