需求:实际开发中,主线程操作执行完成之后,然后子线程继续异步执行后续操作。我们可以采用线程池的方式,简介和使用详见
【线程池《一》】线程池的基本原理,看完就懂了_Little Feel的博客-CSDN博客1. 为什么要用线程池降低资源消耗。通过重复利用已创建的线程降低创建/销毁线程造成的消耗提高响应速度。当任务到达时,任务可以不需要等到线程创建就立即执行提高线程的可管理性。线程时稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配/调优和监控。2. ThreadPoolExecutor线程池类参数详解参数说明corePoolSize核心线程数量,线程池维护线程的.https://blog.csdn.net/qq_30546099/article/details/110826479?spm=1001.2014.3001.5501下面以接口的形式进行请求访问为例:主线程完成操作后,直接返回success。
repayInsertProcessor.insertRepay(具体业务逻辑);
//异步操作,子线程继续执行自己要干的事
threadPoolExecutor.execute(() -> syncOrderRecord(paramDTO));
//到这儿主线程结束,成功
return success;
线程池异步操作:
1.定义线程池,参数要根据实际情况进行定义
private static final ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(
5,11,200,
TimeUnit.SECONDS,
new LinkedBlockingDeque<>(100000),
new ThreadPoolExecutor.CallerRunsPolicy());
2.使用线程池execute方法,无返回值;submit-有返回值,根据实际情况选择
然后异步实现方法,具体逻辑,是同步其他数据还是要更新,就可以定制化实现
private void syncOrderRecord(ParamDTO param) {}
版权声明:本文为qq_30546099原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。