摘要: 一、四种常见的线程池 CachedThreadPool:可缓存的线程池,该线程池中没有核心线程,非核心线程的数量为Integer.max_value,就是无限大,当有需要时创建线程来执行任务,没有需要时回收线程,适用于耗时少,任务量大的情况。 SecudleThreadPool:周期性执行任务的线程 阅读全文
posted @ 2021-07-27 22:30 古兰精 阅读(1086) 评论(0) 推荐(0) 编辑
摘要: 一、线程池介绍 我们知道,线程的创建和销毁都需要映射到操作系统,因此其代价是比较高昂的。出于避免频繁创建、销毁线程以及方便线程管理的需要,线程池应运而生。 1、线程池优势 (1)降低资源消耗:线程池通常会维护一些线程(数量为 corePoolSize),这些线程被重复使用来执行不同的任务,任务完成后 阅读全文
posted @ 2021-07-27 18:59 古兰精 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 在项目中使用 @Async 注解,发现异步任务没生效,最后发现是线程池没配置或配置的有问题,所以准备研究下Java里的异步 在项目中,当访问其他人的接口较慢或者做耗时任务时,不想程序一直卡在耗时任务上,想程序能够并行执行,我们可以使用多线程来并行的处理任务,也可以使用spring提供的异步处理方式@ 阅读全文
posted @ 2021-07-27 14:57 古兰精 阅读(4145) 评论(0) 推荐(0) 编辑
摘要: SpringBoot使用@scheduled定时执行任务的时候是在一个单线程中,如果有多个任务,其中一个任务执行时间过长,则有可能会导致其他后续任务被阻塞直到该任务执行完成,也就是会造成一些任务无法定时执行的错觉。无论@scheduled是用在一个类的多个方法还是用在多个类中的方法,默认都是单线程的 阅读全文
posted @ 2021-07-27 13:30 古兰精 阅读(4431) 评论(0) 推荐(0) 编辑
摘要: 定时任务相当于闹钟,在什么时间做什么事情(执行什么命令/脚本)。 @EnableScheduling 在配置类上使用,开启计划任务的支持 —— 用于类上。 @Scheduled 来声明这是一个任务,包括cron、fixDelay、fixRate等类型 —— 用于方法上,需先开启计划任务的支持 一、如 阅读全文
posted @ 2021-07-27 12:25 古兰精 阅读(3762) 评论(0) 推荐(1) 编辑