首页 > 其他分享 >注解@EnableAsync使用注意项

注解@EnableAsync使用注意项

时间:2023-01-12 15:26:34浏览次数:60  
标签:EnableAsync task spring 默认 blog 线程 注意 注解 execution

注解@EnableAsync使用注意项

以异步性能优化为目的,反而带来的整体业务不可用的结果,是不可取的一种优化。

Spring Boot默认用于异步任务的配置参数其中两项如下:

queueCapacity:缓冲队列的容量,默认为INT的最大值(2的31次方-1)。

maxSize:允 许的最大线程数,默认为INT的最大值(2的31次方-1)。

其默认使用的是 SimpleAsyncTaskExecutor。

而SimpleAsyncTaskExecutor 不是真的线程池,这个类不重用线程,每次调用都会创建一个新的线程。

并发大的时候会产生严重的性能问题。

真正使用的时候,需要对异步任务的执行线程池做一些基础的配置,以防止出现内存溢出导致不可用的问题。

配置文件配置有一下参数:

#线程池创建时的初始化线程数,默认为8

spring.task.execution.pool.core-size=2

#线程池的最大线程数,默认为int最大值

spring.task.execution.pool.max-size=5

#用来缓冲执行任务的队列,默认为int最大值

spring.task.execution.pool.queue-capacity=10

#线程终止前允许保持空闲的时间

spring.task.execution.pool.keep-alive=60s

#是否允许核心线程超时

spring.task.execution.pool.allow-core-thread-timeout=true

#是否等待剩余任务完成后才关闭应用

spring.task.execution.shutdown.await-termination=false

#等待剩余任务完成的最大时间

spring.task.execution.shutdown.await-termination-period=

#线程名的前缀,设置好了之后可以方便我们在日志中查看处理任务所在的线程池

spring.task.execution.thread-name-prefix=task-

 

参考网址 https://www.51cto.com/article/682634.html

参考网址 https://blog.csdn.net/qq_38545713/article/details/94589931?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2-94589931-blog-123398420.pc_relevant_3mothn_strategy_and_data_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2-94589931-blog-123398420.pc_relevant_3mothn_strategy_and_data_recovery&utm_relevant_index=5

 

标签:EnableAsync,task,spring,默认,blog,线程,注意,注解,execution
From: https://www.cnblogs.com/subtlman/p/17046730.html

相关文章

  • nuget 打包 pre-release 版本需要注意的文件版本问题
    今天在发布EnyimMemcachedCore的一个预览版nuget包时遇到的问题,在这篇博文中记录一下。当时发布的版本是2.6.0-preview1,使用的打包脚本如下version=$1project=Enyi......
  • @Data注解使用/注解getset不起作用
    讲个小工具Idea创建对象时不用写getset方法导入maven坐标<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency......
  • 浅析移动端测试混合开发的注意事项
    测试从业者应该知道软件测试需要在不同操作系统下测试软件,如果测试前端业务更多的就是pc端和移动端,pc实现的方式用的最多就是HTML+css组成的网页和一些效果,而移动端更多的是......
  • 避免重复提交注解
    避免重复提交注解 ①注解@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public@interfaceAvoidRepeatableCommit{/***指定时间内......
  • 【Spring注解】1.@Configuration&@Bean
    @Configuration&@Bean微信公众号:​​程序yuan​​如果需要spring注解视频,请到公众号评论留言。源码,视频全部奉上!当前springboot真是老火了,所以非让自己学一把,但是学了前面......
  • python 类初始化的注意事项
    自己写了一个Chessboard类:classChessboard(VGroup):def__init__(self,shape:tuple=(8,8),height:float=1,width:......
  • package:webview_windows 使用注意
    await_webViewController.loadUrl("F:/language/hbuilderx/code/test/test3.html");await_webViewController.loadUrl("file:///F:/language/hbuilderx/code/test/test3......
  • STL关联式容器使用注意、概念总结
    引入继上文STL序列式容器使用注意、概念总结继续总结关联式容器的概念以及一些使用事项。关联式容器与容器适配器基础容器STL中的关联式底层容器:RBtree,hashtabl......
  • pytorch geometric并行运算要注意的一些问题
    如果有多gpu的情况,可以这样写:fromtorch_geometric.nnimportDataParalleliftorch.cuda.device_count()>1:model=DataParallel(model,device_ids=[0,1])这......
  • 注解与反射
    注解与反射1内置注解packagecom.feng.annotation;importjava.util.ArrayList;importjava.util.List;/***@Authorfengpeng*@Date2022/12/29*@Time2......