在业务中,有很多情况我们需要用消息队列来处理异步。有很多专门的消息队列的应用,rabbimq,kafka等等。但是,这些都是要单独去部署的,如果我们就想要使用这个功能,又不想增加部署以及运维工作量怎么办呢?我们可以借助redis的相关功能来实现。
Java-枚举详解
一、枚举型常量
1 | package com.yang; |
SpringBoot解决多个定时任务阻塞问题
为什么Spring Boot 定时任务是单线程的?
想要解释为什么,一定要从源码入手,直接从@EnableScheduling这个注解入手,找到了这个ScheduledTaskRegistrar类,其中有一段代码如下:
1 | protected void scheduleTasks() { |
如果taskScheduler为null,则创建单线程的线程池:Executors.newSingleThreadScheduledExecutor()
。
也就是说线程调度器设置只有一个线程容量,如果存在多个任务被触发时,会等第一个任务执行完毕才会执行下一个任务。