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

免费网站推广服务做网站推广话术

免费网站推广服务,做网站推广话术,网站名称管理,百度实名认证1. Reactor是什么 Reactor 是一个基于Reactive Streams规范的响应式编程框架。它提供了一组用于构建异步、事件驱动、响应式应用程序的工具和库。Reactor 的核心是 Flux#xff08;表示一个包含零到多个元素的异步序列#xff09;和 Mono表示一个包含零或一个元素的异步序列…1. Reactor是什么 Reactor 是一个基于Reactive Streams规范的响应式编程框架。它提供了一组用于构建异步、事件驱动、响应式应用程序的工具和库。Reactor 的核心是 Flux表示一个包含零到多个元素的异步序列和 Mono表示一个包含零或一个元素的异步序列。Reactor 通过提供响应式的操作符如map、filter、flatMap等使得开发者能够方便地进行数据流的转换和处理。 2. Reactor、Callback、CompletableFuture三种形式异步编码对比 编码简洁程度Reactor最优Reactor线程利用率最高因实现了Reactive Streams规范拥有背压事件驱动特性此处暂不展开) 代码如下 pom依赖 dependencyManagementdependenciesdependencygroupIdio.projectreactor/groupIdartifactIdreactor-bom/artifactIdversion2023.0.0/versiontypepom/typescopeimport/scope/dependency/dependencies /dependencyManagementdependenciesdependencygroupIdio.projectreactor/groupIdartifactIdreactor-core/artifactId/dependency /dependenciesCallback回调地狱 interface FirstCallback {void onCompleteFirst(String result);void onErrorFirst(Exception e); }interface SecondCallback {void onCompleteSecond(String result);void onErrorSecond(Exception e); }interface ThirdCallback {void onCompleteThird(String result);void onErrorThird(Exception e); }class AsyncOperations {static void firstOperation(FirstCallback firstCallback) {new Thread(() - {try {// 模拟异步操作Thread.sleep(2000);// 操作完成后调用回调函数firstCallback.onCompleteFirst(First operation completed);} catch (Exception e) {// 发生异常时调用错误回调firstCallback.onErrorFirst(e);}}).start();}static void secondOperation(String input, SecondCallback secondCallback) {new Thread(() - {try {// 模拟异步操作Thread.sleep(2000);// 操作完成后调用回调函数secondCallback.onCompleteSecond(Second operation completed with input: input);} catch (Exception e) {// 发生异常时调用错误回调secondCallback.onErrorSecond(e);}}).start();}static void thirdOperation(String input, ThirdCallback thirdCallback) {new Thread(() - {try {// 模拟异步操作Thread.sleep(2000);// 操作完成后调用回调函数thirdCallback.onCompleteThird(Third operation completed with input: input);} catch (Exception e) {// 发生异常时调用错误回调thirdCallback.onErrorThird(e);}}).start();} }public class CallbackHellExample {public static void main(String[] args) {AsyncOperations.firstOperation(new FirstCallback() {Overridepublic void onCompleteFirst(String result) {System.out.println(First Callback: result);// 第一次操作完成后调用第二次操作AsyncOperations.secondOperation(result, new SecondCallback() {Overridepublic void onCompleteSecond(String result) {System.out.println(Second Callback: result);// 第二次操作完成后调用第三次操作AsyncOperations.thirdOperation(result, new ThirdCallback() {Overridepublic void onCompleteThird(String result) {System.out.println(Third Callback: result);}Overridepublic void onErrorThird(Exception e) {System.out.println(Error in Third Callback: e.getMessage());}});}Overridepublic void onErrorSecond(Exception e) {System.out.println(Error in Second Callback: e.getMessage());}});}Overridepublic void onErrorFirst(Exception e) {System.out.println(Error in First Callback: e.getMessage());}});// 主线程继续执行其他操作System.out.println(Main thread continues...);} }CompletableFuture优化Callback回调地狱 public class CompletableFutureExample {public static void main(String[] args) {CompletableFutureString firstOperation CompletableFuture.supplyAsync(() - {try {// 模拟异步操作Thread.sleep(2000);return First operation completed;} catch (InterruptedException e) {throw new RuntimeException(e);}});CompletableFutureString secondOperation firstOperation.thenApplyAsync(result - {System.out.println(First CompletableFuture: result);try {// 模拟异步操作Thread.sleep(2000);return Second operation completed with input: result;} catch (InterruptedException e) {throw new RuntimeException(e);}});CompletableFutureString thirdOperation secondOperation.thenApplyAsync(result - {System.out.println(Second CompletableFuture: result);try {// 模拟异步操作Thread.sleep(2000);return Third operation completed with input: result;} catch (InterruptedException e) {throw new RuntimeException(e);}});thirdOperation.whenComplete((result, throwable) - {if (throwable null) {System.out.println(Third CompletableFuture: result);} else {System.out.println(Error in CompletableFuture: throwable.getMessage());}});// 主线程继续执行其他操作System.out.println(Main thread continues...);// 等待所有操作完成CompletableFuture.allOf(firstOperation, secondOperation, thirdOperation).join();} }Reactor优化Callback回调地狱 public class ReactorOptimizedExample {public static void main(String[] args) {Mono.fromCallable(() - {// 模拟异步操作Thread.sleep(2000);return First operation completed;}).subscribeOn(Schedulers.boundedElastic()).flatMap(result - {System.out.println(First Reactor: result);return Mono.fromCallable(() - {// 模拟异步操作Thread.sleep(2000);return Second operation completed with input: result;}).subscribeOn(Schedulers.boundedElastic());}).flatMap(result - {System.out.println(Second Reactor: result);return Mono.fromCallable(() - {// 模拟异步操作Thread.sleep(2000);return Third operation completed with input: result;}).subscribeOn(Schedulers.boundedElastic());}).doOnSuccess(result - System.out.println(Third Reactor: result)).doOnError(error - System.out.println(Error in Reactor: error.getMessage())).block(); // 阻塞等待操作完成// 主线程继续执行其他操作System.out.println(Main thread continues...);} }学习打卡Java学习笔记-day06-响应式编程Reactor优化Callback回调地狱
http://www.pierceye.com/news/688098/

相关文章:

  • 网站推荐你了解我意思吧深圳响应式设计企业网站
  • 网站后期增加产品东平网页设计
  • 免费网站模板的制作方法石台做网站
  • 温州建设网站公司哪家好游戏外包公司要不要去
  • 动力无限西安网站建设wordpress图片到本地
  • 重庆微信营销网站建设seo快照推广
  • dedecms小说网站模板如何以目录形式访问网站
  • 有哪些可以做网站的平台怎样把录的视频做一下传到网站
  • 网站域名如何续费福建建筑人才服务中心
  • 站长平台怎么添加网站网站中文名注册
  • 唐四薪php网站开发答案想制作一个网站要多少钱
  • ppt网站建设答案东台网页定制
  • 做网站 侵权如何制作手机版网站
  • 代发网站建设app网站软件
  • 家居企业网站建设如何国家企业信息公示系统全国
  • 网站平台如何推广wordpress登录页面显示ip
  • 如何做网站百度排名优化推广的目的是什么
  • 重庆忠县网站建设公司哪家专业芷江建设局的工作人员网站
  • 戴尔电脑网站建设方案范文室内设计方案图
  • 餐厅网站建设策划方案网站建设存在的具体问题
  • 竞价页面网站做优化广告商对接平台
  • 网站后台如何修改密码wordpress调整页面布局
  • 东莞热点网站建设莱州人才网
  • 线上渠道推广网站的优化哪个好
  • 群晖可以做网站服务器微信朋友圈怎么发链接那种网页怎么制作
  • wordpress 公司网站网站和公众号的区别
  • 数据库跟网站seo流程
  • 网站首页关键词设置网站的整体风格
  • wordpress源码站整站源码制作wordpress插件
  • 海口网站建设就q479185700上墙网站空间后台怎么进入