java异步延迟任务执行

今天遇到一个奇怪的需求:需要在某个操作后,延迟10min执行另一个操作。

一 新建线程

首先想到的方法便是新建一个线程完成此操作:

java异步延迟任务执行_第1张图片

输出

看起来这个操作没有问题 ,但是现在项目中就有问题了。

java异步延迟任务执行_第2张图片

 这是阿里代码检查工具的提示。

试想一下,每次进行这种操作便新建线程是不可取的,如果这个操作执行多次,便会创建大量线程,对虚拟机运行造成巨大的压力。

二 使用线程池

java异步延迟任务执行_第3张图片

输出结果

在项目中当然也可以将线程池交给spring进行维护

三 spring线程池

java异步延迟任务执行_第4张图片

接下来就是项目中注入并使用这个threadPool对象了

java异步延迟任务执行_第5张图片
spring中还有一个ThreadTask,有时间的朋友可以去研究研究。 

 

你可能感兴趣的:(java)