springboot多线程编程
2017-01-04 12:00
246 查看
spring通过任务执行器TaskExecutor来实现多线程和并发编程。
使用ThreadPoolTaskExecutor可实现一个基于线程池的TaskExecutor。
而实际开发中任务一般是非阻塞的,即异步的,所以我们要在配置类中通过@EnableAsync注解来开启对异步任务的支持,并通过在实际执行的bean的方法中使用@Async注解来声明其是一个异步任务。
具体操作:
1.利用@EnableAsync注解来开启异步任务支持。
2.配置类实现AsyncConfigurer接口并重写getAsyncExecutor方法,并返回一个ThreadPoolTaskExecutor,这样就可以获得一个基于线程池的TaskExecutor。
3.在执行方法上添加@Async注解来声明這个方法是异步方法。如果注解在类上,则表明该类的所有方法都是异步的,而這里的方法自动被注入使用ThreadPoolTaskExecutor作为TaskExecutor。
使用ThreadPoolTaskExecutor可实现一个基于线程池的TaskExecutor。
而实际开发中任务一般是非阻塞的,即异步的,所以我们要在配置类中通过@EnableAsync注解来开启对异步任务的支持,并通过在实际执行的bean的方法中使用@Async注解来声明其是一个异步任务。
具体操作:
1.利用@EnableAsync注解来开启异步任务支持。
2.配置类实现AsyncConfigurer接口并重写getAsyncExecutor方法,并返回一个ThreadPoolTaskExecutor,这样就可以获得一个基于线程池的TaskExecutor。
3.在执行方法上添加@Async注解来声明這个方法是异步方法。如果注解在类上,则表明该类的所有方法都是异步的,而這里的方法自动被注入使用ThreadPoolTaskExecutor作为TaskExecutor。
相关文章推荐
- 微服务框架Spring Cloud介绍 Part2: Spring Cloud与微服务
- Python3写爬虫(四)多线程实现数据爬取
- springmvc实现url路由功能
- spring aop 无法代理父类方法 的解决方法
- Spring MVC过滤器-超类 GenericFilterBean
- 一个jar包里的网站
- 一个jar包里的网站之文件上传
- 一个jar包里的网站之返回对媒体类型
- Spring和ThreadLocal
- Spring Boot 开发微服务
- Spring AOP动态代理-切面
- 使用MVC微信支付返回get_brand_wcpay_request:fail
- Spring整合Quartz(JobDetailBean方式)
- Spring整合Quartz(JobDetailBean方式)
- C#实现多线程的同步方法实例分析
- ruby实现的一个异步文件下载HttpServer实例
- C#异步绑定数据实现方法
- 浅谈chuck-lua中的多线程
- 科学知识:同步、异步、阻塞和非阻塞区别