Spring Boot开发实战(第12章 任务调度)

目录

12.1 定时任务

 12.1.1 通用实现方法

 12.1.2 静态定时任务

 12.1.3 Cron简介

 12.1.4 动态定时任务

 12.1.5 多线程执行任务

12.2 开发任务调度服务

 12.2.1 同步与异步

12.2.3 异步任务执行


12.1 定时任务

 12.1.1 通用实现方法

    定时任务执行方式可分为单线程(串行)和多线程(并行)。在Spring Boot下开发定时任务需要在启动类上增加一个@EnableScheduling注解开启定时任务功能。常见的3种定时任务的实现方式:
    1.使用Java自带的java.util.Timer类
    2.使用Quartz
    3.使用Spring框架自带的Schedule模块

 12.1.2 静态定时任务

    在Spring Boot中实现一个静态定时任务:
    1.使用@Component注解标注这个类,然后在其中需要定时执行的方法上添加@Schedule注解
     (1)@Scheduled(fixedRate=5000):每隔5秒执行一次
     (2)@Scheduled(fixedRate=3000):每隔3秒执行一次
     (3)@Scheduled(cron="0/10 * * * * ?"):按照cron表达式规则执行
    2.在Spring Boot启动类上添加@EnableScheduling注解,启用Spring Schedule定时调度功能

 12.1.3 Cron简介

    见:https://blog.csdn.net/storyteller_qzx/article/details/109603829

 12.1.4 动态定时任务

  1.数据库初始化数据
  2.从数据库中读取cron表达式值
  3.ScheduleConfigurer接口:任务调度的配置接口,实现其中的configureTasks()方法可以实现任务的配置

 12.1.5 多线程执行任务

  1.在SchedulingConfigurer接口的configureTasks方法中添加线程池(taskRegister.setScheduler(Executors.newScheduledThreadPool(10)))
  2.在configureTasks方法中添加多任务(taskRegister.setScheduler(Executors.newScheduledThreadPool(10)))

12.2 开发任务调度服务

 12.2.1 同步与异步

    同步:按代码顺序依次执行,每一个程序必须等上一个程序执行结束之后才能执行。
    异步:不等待前一个程序执行结束就开始执行之后的程序,异步不用阻塞当前线程来等待处理完成,它允许后续操作,直至其他线程将处理完成并回调此线程。

12.2.3 异步任务执行

  1.编写AsyncTask类:在方法前面加上一个@Async注解将同步函数变为异步函数
  2.自定义线程池
  3.启用@EnableAsync:在Spring Boot的入口类上配置@EnableAsync,@Async注解才能生效

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值