当前位置: 首页 > news >正文

【Spring Boot 3】【@Scheduled】多线程执行定时任务

【Spring Boot 3】【@Scheduled】多线程执行定时任务

  • 背景
  • 介绍
  • 开发环境
  • 开发步骤及源码
  • 工程目录结构
  • 总结

背景

软件开发是一门实践性科学,对大多数人来说,学习一种新技术不是一开始就去深究其原理,而是先从做出一个可工作的DEMO入手。但在我个人学习和工作经历中,每次学习新技术总是要花费或多或少的时间、检索不止一篇资料才能得出一个可工作的DEMO,这占用了我大量的时间精力。因此本文旨在通过一篇文章即能还原出可工作的、甚至可用于生产的DEMO,期望初学者能尽快地迈过0到1的这一步骤,并在此基础上不断深化对相关知识的理解。
为达以上目的,本文会将开发环境、工程目录结构、开发步骤及源码尽量全面地展现出来,文字描述能简则简,能用代码注释的绝不在正文中再啰嗦一遍,正文仅对必要且关键的信息做重点描述。

介绍

Spring Boot @Scheduled 注解的方法默认是单线程执行,通常情况下需要配置多线程执行,以避免多个定时任务间相互阻塞,本文介绍配置多线程执行定时任务两种方法:

  • 使用 @Scheduled 注解的方法同时使用 @Async 注解;
  • 调用 ScheduledTaskRegistrar 的 `` 方法设置执行定时任务的线程池。

开发环境

分类名称版本
操作系统WindowsWindows 11
JDKOracle JDK21.0.1
IDEIntelliJ IDEA2023.2.4
构建工具Apache Maven3.9.3

开发步骤及源码

1> 创建Maven工程,添加依赖。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.jiyongliang</groupId><artifactId>springboot3-schedule</artifactId><version>0.0.1</version></parent><artifactId>springboot3-schedule-multi-thread</artifactId><properties><java.version>21</java.version><maven.compiler.source>21</maven.compiler.source><maven.compiler.target>21</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEn
http://www.lryc.cn/news/290801.html

相关文章:

  • TypeScript 基础学习
  • 《CSS3》田字网格背景(外实线内虚线)的实现
  • 图书管理系统(ArrayList和LinkedList)--versions3.0
  • 游戏开发丨基于Pygame的AI版贪吃蛇小游戏
  • qt-C++笔记之QStringList、QList<QString>、QString、QChar、QList<QChar>区别
  • python爬虫学习之解析_BeautifulSoup
  • 2024美赛数学建模赛题解读常用模型算法
  • NoSQL 数据库管理系统和模型的比较
  • 数据库(SQL)
  • 如何用Docker+jenkins 运行 python 自动化?
  • uniapp瀑布流实现
  • 鸿蒙:@Link装饰器-父子双向同步
  • Leetcode--27
  • 使用Eclipse搞Android项目报错
  • import sys是什么
  • Python爬虫:XPath基本语法
  • UML/SysML建模工具更新情况(截至2024年1月)(1)UModel 2024
  • ubuntu20-github不通问题
  • 【MAC】Multi-Level Monte Carlo Actor-Critic阅读笔记
  • [GN] 设计模式—— 创建型模式
  • 链表——超详细
  • 【刷题】 leetcode 面试题 08.05.递归乘法
  • C语言实现希尔排序算法(附带源代码)
  • R语言【taxlist】——subset():取taxlist对象的子集
  • 单片机学习笔记---定时器计数器(含寄存器)工作原理介绍(详解篇2)
  • 《动手学深度学习(PyTorch版)》笔记4.1
  • OpenAI发布新模型!ChatGPT性能重磅提升,API大幅降价,GPT-4 「变懒」被修复
  • 【C深度解剖】计算机数据下载和删除原理
  • ASTORS国土安全奖:ManageEngine AD360荣获银奖
  • clang--cpplint--gitlint