听说springboot有个注解@Async能够实现异步调用,而后我来用用看!spring
增长一个maven新模块:springboot
增长以下依赖,不增长配置:并发
而后咱们写一个异步调用的服务:异步
这里须要实现异步的功能,还须要在Application加上注解@EnableAsync,相似于Spring的<task:*> XML命名空间中的功能。maven
而后咱们写一个测试用例测试
日志输出:.net
从上面的日志中,咱们能够看到调用是异步执行的,就是使用一下这个功能,实际上使用也不用这么复杂吧,使用的Future<String>,咱们在新版本的JDK中,还能够使用其余的方式!线程
咱们能够看到在EnableAsync注解中有@Import AsyncConfigurationSelector.class(用来导入一个或多个class,这些类会注入到spring容器中,或者配置类,配置类里面定义的bean都会被spring容器托管)。日志
@EnableAsync注释启动了Spring在后台线程池中运行@Async方法的能力。该类还自定义使用的Executor。在咱们的示例中,咱们但愿将并发线程数限制为2并将队列大小限制为500.您能够调整更多内容。默认状况下,使用SimpleAsyncTaskExecutor。blog
文档里写了@Async有两个使用的限制:
下节再续!
有什么讨论的内容,能够加我公众号: