Springboot中定时器的简单使用
在定时器的类上添加注解:
@Component
@EnableAsync
@EnableScheduling
一、普通的定时器:
每天15:10执行的定时器
@Scheduled(cron="0 10 15 * * ?") public void first() throws InterruptedException { System.out.println("第一个定时任务开始 : " + LocalDateTime.now().toLocalTime() + "\r\n线程 : " + Thread.currentThread().getName()); System.out.println(); Thread.sleep(1000 * 10); }
二、多线程定时器:
@Async @Scheduled(fixedDelay = 2000) public void second() { System.out.println("第二个定时任务开始 : " + LocalDateTime.now().toLocalTime() + "\r\n线程 : " + Thread.currentThread().getName()); ScheduledExecutorService scheduledThreadPool = Executors.newScheduledThreadPool(5); for (int i = 0; i < 10; i++) { scheduledThreadPool.schedule(new Runnable() { public void run() { System.out.println("delay 3 seconds==========================" + Thread.currentThread().getId() + Thread.currentThread().getName()); } }, 3, TimeUnit.SECONDS); } }
@Scheduled(cron=" ") 使用的cron表达式
推荐一个在线的cron表达式生成器 http://cron.qqe2.com/
cron表达式简单学习 : https://blog.csdn.net/fanrenxiang/article/details/80361582
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步