![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
文章平均质量分 82
努力终会有回报
这个作者很懒,什么都没留下…
展开
-
Spring前一次定时任务没执行完,下次任务要求再次执行
业务背景:正常开发情况下,spring的定时任务只有当前任务线程执行完毕后才会扫描下一次定时任务,即为默认的同步任务。譬如定时表达式@Scheduled(cron = "0 0/1 * * * ?")意味当前定时任务理想情况下需要1分钟跑一次,但是当遇到有时间要求的定时任务时,同时又有新的增量任务进来时,则需要启动异步定时任务。如果采用的是spring自带的Scheduled注解实现的话第一步在springboot启动类上添加@EnableAsync注解启动异步任务第二步在实际的定时任务原创 2021-11-10 13:53:08 · 9897 阅读 · 0 评论 -
多线程处理多次Http请求慢的问题
业务场景:前端调Java接口,接口需要多次请求http请求,因为是顺序执行,每个http耗时很长,大概5秒左右,但是叠加起来是很恐怖的,有必要做成多线程去处理。大体思路:多线程去do任务,使用CountDownLatch进行计数当前线程执行结束,然后调用await()方法,继续向下执行上代码:public String picMark(Model model, HttpServletRequest request) throws Exception { Map<String,Ob原创 2020-06-17 13:44:22 · 2883 阅读 · 3 评论 -
用线程池去处理大量查询/插数据库操作
在工作过程中经常遇到需要处理非依赖性的http接口请求或者非依赖型的查库入库操作在这种情况下,为了提升性能,用多线程来处理性能更佳import java.util.*;import java.util.concurrent.*;public static void main(String[] args) { Map<String,String[]> parameterMap=要处理的多任务数据 handleAssessScore(parameterMap)..原创 2020-06-03 18:39:08 · 1767 阅读 · 0 评论 -
关于synchronized在多线程中的几种锁类型和底层原理解析
1. 对象锁 类锁非static方法加synchronized锁,static方法加synchronized锁,不加synchronized锁 三种调用顺序比较 public class TheadStaticLock { public synchronized void m1(){ System.out .println(Thread.currentThread().getName()+" m1 start"); ...原创 2020-05-23 22:01:22 · 224 阅读 · 0 评论