配置pom檔案
org.mybatis.spring.bootgroupid>
mybatis-spring-boot-starterartifactid>
1.3.0version>
dependency>
org.springframework.bootgroupid>
spring-boot-configuration-processorartifactid>
trueoptional>
dependency>
執行緒池的配置檔案#執行緒池配置
spring:
task:
pool:
corepoolsize : 4
maxpoolsize : 8
keepaliveseconds : 60
queuecapacity : 20
新建執行緒池引數裝載類@configurationproperties(prefix = "spring.task.pool")
public
class taskthreadpoolconfig
public
void
setcorepoolsize(int corepoolsize)
public
intgetmaxpoolsize()
public
void
setmaxpoolsize(int maxpoolsize)
public
intgetkeepaliveseconds()
public
void
setkeepaliveseconds(int keepaliveseconds)
public
intgetqueuecapacity()
public
void
setqueuecapacity(int queuecapacity)
}
@configurationproperties(prefix = 「spring.task.pool」)是讓spring在建立bean時去載入配置檔案中開頭為spring.task.pool的內容。
這一步需要在spring boot 啟動類上加上註解:
@enableconfigurationproperties()
告訴spring 去根據配置檔案的內容去建立bean
執行緒池的建立
@configuration
@enableasync
public
class
taskexecutepool
}
建立多執行緒任務類和方法@component
public
class dosomething
@async("mytaskasyncpool")
public
void
comsumertask()
}
注意:在需要多執行緒執行的類上加上註解@component,在需要多執行緒執行的方法上加上@async(「mytaskasyncpool」)
spring boot 的多執行緒任務就搭好了,核心執行緒數量可以根據機器處理器核數進行確定。最好不要超過處理器核數。
SpringBoot啟動多執行緒
新建乙個執行緒池的配置類,需要被spring掃瞄到。configuration enableasync public class threadexecutorconfig 新增乙個普通類,裡面編寫需要執行的方法,方法加上 async註解,呼叫方法時自動啟動執行緒。component public c...
Spring boot中使用多執行緒
首先bean物件由spring容器管理 其次預設的spring初始化乙個類時,其相關依賴的元件都會被初始化 然而自己new出來的類,其相關依賴的元件不會被初始化,因為繞過了spring 一 配置spring上下文 component public class implements override ...
例項講解spring boot 多執行緒
spring 通過任務執行器 taskexecutor 來實現多mdkwixfpo執行緒和併發程式設計。使用threadpooltaskexecutor可實現乙個基於執行緒池的taskexecutor。而實際開發中任務一般是非阻塞的,即非同步的,所有我們在配置類中通過 enableasync開啟對非...