当前位置: 首页 > news >正文

通州专业网站制作台州建站网站模板

通州专业网站制作,台州建站网站模板,wordpress 模板 字体,wordpress菠菜插件Spring boot异步处理 业务场景#xff1a; 如执行数据库备份任务#xff0c;前端发起请求到后端#xff0c;后端备份数据库的处理逻辑需要很长一段时间#xff0c;此时前端会一直等待后端返回结果#xff0c;给用户给等待时间过长#xff0c;这是就要考虑异步处理了 如执行数据库备份任务前端发起请求到后端后端备份数据库的处理逻辑需要很长一段时间此时前端会一直等待后端返回结果给用户给等待时间过长这是就要考虑异步处理了如客户点击数据库备份操作后之间返回响应结果至于备份多久后台异步在处理处理完成后看日志就行了 1. 异步任务方式1 使用线程池创建新的线程去处理如下 /*** 异步处理1线程池创建新线程处理* return*/RequestMapping(value test3,method RequestMethod.GET)public String test3(){ExecutorService service Executors.newFixedThreadPool(5);RunnableTask1 task1 new RunnableTask1();service.execute(task1);logger.info(》当前线程名Thread.currentThread().getName());return 异步,正在解析......;} 线程任务 public class RunnableTask1 implements Runnable{private final Logger logger LoggerFactory.getLogger(getClass());Overridepublic void run(){Building building new Building();synchronized (building){try {for (int i 1;i 100;i){System.out.println(Thread.currentThread().getName()----------异步i);building.wait(200);}}catch (Exception ex){ex.printStackTrace();}}} }我们看控制台会发现主线程和处理任务的线程不是一个线程也就是当页面请求后主线程会返回我们想要返回的标识这里返回的是一个字符串异步正在解析…而线程池新开了一个线程在后台处理业务逻辑。所以此时访问接口后会立马返回页面不用等待处理逻辑在后台默默进行。 2. 异步任务方式2 这种方式是springBoot自身的一种异步方式使用注解实现非常方便我们在想要异步执行的方法上加上Async注解在controller上加上EnableAsync即可。注意这里的异步方法只能在自身之外调用在本类调用是无效的。 controller如下 RestController RequestMapping(test) EnableAsync public class LoginController {private final org.slf4j.Logger logger LoggerFactory.getLogger(getClass());Autowiredprivate LoginService loginService;/*** 异步处理2使用springBoot自带async注解*/RequestMapping(value test1,method RequestMethod.GET)public String test1(){loginService.getTest1();logger.info(Thread.currentThread().getName());return 异步,正在解析......;}serviceImpl 如下 /**异步方法* 有Async注解的方法默认就是异步执行的会在默认的线程池中执行但是此方法不能在本类调用启动类需添加直接开启异步执行EnableAsync。* */ Async Override public String getTest1(){Building building new Building();synchronized (building){try {for (int i 1;i 100;i){logger.info(Thread.currentThread().getName()----------异步i);building.wait(200);}return 执行异步任务完毕;}catch (Exception ex){ex.printStackTrace();}}return Thread.currentThread().getName()执行完毕; }看控制台会发现页面发出请求后主线程会返回而内置的线程池会新开线程在后台执行任务。此时页面不用等待可以继续其他操作。
http://www.hkea.cn/news/14527415/

相关文章:

  • 免费网站如何注册重庆网站建设方案
  • 西安户县建设厅网站国外分销平台有哪些
  • 网站换源码如何保留以前的文章近期新闻热点事件简短
  • 备案不关闭网站优设网文案下载
  • 网站建设吸引人的话语苏州网站开发公司济南兴田德润厉害吗
  • 给个高质量的网站搜狗推广手机客户端
  • 无锡信息网站建设北京赛车手机网站建设
  • 重庆网站建设报价wordpress 数据 清理
  • 网站营销单页怎么设计方案上海阿里巴巴网站建设
  • seo整站优化更能准确获得客户珠宝购物网站的建设
  • app开发网站建设培训班项目招商网站大全
  • 网站制作首页那种漂亮的网站怎么做的
  • 网络营销个人网站wordpress制作挂件
  • 亳州建设网站西安保障性住房建设投资中心网站
  • 太原网站建设制作报价qq小程序怎么打开
  • 网站后台可以备份吗有免费建网站
  • 全屏家居网站模板许昌市住房和城乡建设局网站
  • wordpress做手机网站青岛网站建设华夏
  • lamp环境做网站wordpress 编辑器隔行
  • 建设网站二级建造师如何解聘昆明网站建站推广
  • 网站建设国外镇江建站推广报价
  • 河北网站建设模板天津做网站的哪家好
  • 沧州哪里做网站中企建网站
  • 网站系统设计圣都装饰
  • 网站开发与技术分析域名网站建设流程
  • 阿里巴巴怎样做网站在线切图网站
  • 海外仓网站建设做个什么样的网站
  • 建立网站的基本过程深圳人口
  • 秦皇岛城乡住房建设厅网站html代码自动生成
  • 做短袖的网站在哪个网站去租地方做收废站