引子
作业执行器Job Executor的作用就是实现异步操作。
配置
- asyncExecutorActivate: 激活作业执行器
- asyncExecutorXXX:异步执行器的相关属性
- asyncExecutor:异步执行器bean
自定义线程池 ExecutorService
- corePoolSize : 核心线程数
- maxPoolSize : 最大线程数
- queueCapacity : 堵塞队列大小
对线程池这几个参数的理解,当线程池初始化的时候,会先分配corePoolSize个线程,当有多个任务进来的时候,慢慢将这corePoolSize个线程都占用的时候,多出来的任务就会在容量为queueCapacity这么大的堵塞队列中等待;如果待做任务数大于队列长度后,线程池会进行扩容,扩大到maxPoolSize个线程数,以适应高并发,如果任务数超过了最大线程数,则无能为力,只能提示超过系统负载了。当并发量减少不需要这么多线程的时候,线程数目也会从最大线程数慢慢减小,这就是整个动态调节的过程。
流程中的定时任务的执行就是基于上述多线程的原理实现的。
定时开启时间Timer Start Event
- timeDate 指定启动时间
- timeDuration: 指定持续时间间隔后启动
- timeCycle:指定事件段后周期执行
网友评论