定时器多线程开发

时间:2023-02-12 23:31:12

当我们用到多个定时器的时候,有些定时器可能执行时间特别长,比如两三个小时。如果对其他定时器,尤其是按频率执行的定时器的精确率要求较高的时候,肯定就会出问题了。

这时候我们就需要用到多线程的定时器,其实很简单,因为定时器默认线程为单线程,所以我们修改一下它的线程个数上限就行了,具体就是在XML里面加几个配置,今天花了一天来解决这个问题,避免以后再遇到,所以记录以下~~~~

以下为XML的代码

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:task="http://www.springframework.org/schema/task"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans 
        classpath:/org/springframework/beans/factory/xml/spring-beans-4.1.xsd  
        http://www.springframework.org/schema/task 
        http://www.springframework.org/schema/task/spring-task-4.1.xsd">

    <!-- 启用annotation方式 -->
    <task:annotation-driven scheduler="myScheduler" />

    <!-- 配置任务线程池 (这里配置线程个数)-->
    <task:scheduler id="myScheduler" pool-size="5" /> 

</beans>