1:首先配置线程池(在spring配置文件中配置,我是在applicationContext.xml中配置的)
<!-- 异步线程池 --> <bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"> <!-- 核心线程数 --> <property name="corePoolSize" value="5" /> <!-- 最大线程数 --> <property name="maxPoolSize" value="10" /> <!-- 队列最大长度 >=mainExecutor.maxSize --> <property name="queueCapacity" value="100" /> <!-- 线程池维护线程所允许的空闲时间 --> <property name="keepAliveSeconds" value="3000" /> <!-- 线程池对拒绝任务(无线程可用)的处理策略 --> <property name="rejectedExecutionHandler"> <bean class="java.util.concurrent.ThreadPoolExecutor$CallerRunsPolicy" /> </property> </bean>
2:就是注入taskExecutor并且使用
直接把线程丢到线程池中,线程池会控制何时启动它,会自动调用它的RUN方法
3:线程接口(ResponseQueueThread)
到此结束,哈哈,很简单,欢迎各种吐槽,有更好的还请推荐,thank you!谢谢
时间: 2024-10-25 13:27:17