在spring中引入執行緒池,設定執行緒優先順序。
阿新 • • 發佈:2019-02-05
在spring.xml 檔案中配置:
<!-- 執行緒-->
<bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
<!-- 核心執行緒數 -->
<property name="corePoolSize" value="2" />
<!-- 最大執行緒數 -->
<property name="maxPoolSize" value="5" />
<!-- 佇列最大長度 -->
<property name="queueCapacity" value="10" />
<!-- 執行緒池維護執行緒所允許的空閒時間,預設為60s -->
<property name="keepAliveSeconds" value="200" />
</bean>
然後在要使用的服務中注入:
/**
* 引入執行緒
*/
@Resource
private TaskExecutor taskExecutor;
在方法中直接使用即可:
1,常規用法
//獲取執行緒執行時間計算
taskExecutor.execute(new Runnable() {
@Override
public void run() {
.........
}
});
2,調整優先順序
Thread thread= new Thread(new Runnable() {
@Override
public void run() {
...................
}
});
thread.setPriority(10);
taskExecutor.execute(thread);
“`