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

加强本单位政务网站建设自己做网站上市

加强本单位政务网站建设,自己做网站上市,怎么样免费做网站,吉安市建设规划局网站我想使用Java 8 CompletableFuture和Rx-Java Observable探索一个简单的分散聚集场景。 场景很简单–产生大约10个任务#xff0c;每个任务返回一个字符串#xff0c;最终将结果收集到一个列表中。 顺序的 其顺序版本如下#xff1a; public void testSequentialScatterGa… 我想使用Java 8 CompletableFuture和Rx-Java Observable探索一个简单的分散聚集场景。 场景很简单–产生大约10个任务每个任务返回一个字符串最终将结果收集到一个列表中。 顺序的 其顺序版本如下 public void testSequentialScatterGather() throws Exception {ListString list IntStream.range(0, 10).boxed().map(this::generateTask).collect(Collectors.toList());logger.info(list.toString()); }private String generateTask(int i) {Util.delay(2000);return i - test; }随着CompletableFuture 可以使用称为supplyAsync的实用程序方法来使方法返回CompletableFuture我正在使用此方法的一种变体它接受要使用的显式Executor 而且我故意为其中一个输入抛出异常 private CompletableFutureString generateTask(int i,ExecutorService executorService) {return CompletableFuture.supplyAsync(() - {Util.delay(2000);if (i 5) {throw new RuntimeException(Run, it is a 5!);}return i - test;}, executorService); } 现在分散任务 ListCompletableFutureString futures IntStream.range(0, 10).boxed().map(i - this.generateTask(i, executors).exceptionally(t - t.getMessage())).collect(Collectors.toList()); 在分散任务结束时结果是CompletableFuture列表。 现在要从中获取String列表有些棘手这里我使用Stackoverflow中建议的一种解决方案 CompletableFutureListString result CompletableFuture.allOf(futures.toArray(new CompletableFuture[futures.size()])).thenApply(v - futures.stream().map(CompletableFuture::join).collect(Collectors.toList())); 这里仅使用CompletableFuture.allOf方法来构成下一步操作一旦所有分散的任务都完成了则一旦完成任务期货就会再次流式传输并收集到一个字符串列表中。 然后可以异步显示最终结果 result.thenAccept(l - {logger.info(l.toString()); });使用Rx-java Observable 使用Rx-java进行分散收集相对比CompletableFuture版本更干净因为Rx-java提供了更好的方法将结果组合在一起这也是执行分散任务的方法 private ObservableString generateTask(int i, ExecutorService executorService) {return Observable.Stringcreate(s - {Util.delay(2000);if ( i 5) {throw new RuntimeException(Run, it is a 5!);}s.onNext( i -test);s.onCompleted();}).onErrorReturn(e - e.getMessage()).subscribeOn(Schedulers.from(executorService)); } 并分散任务 ListObservableString obs IntStream.range(0, 10).boxed().map(i - generateTask(i, executors)).collect(Collectors.toList()); 我又有了一个Observable的列表而我需要的是一个结果列表Observable提供了一个合并方法来做到这一点 ObservableListString merged Observable.merge(obs).toList(); 可以订阅并在可用时打印结果 merged.subscribe(l - logger.info(l.toString()));翻译自: https://www.javacodegeeks.com/2015/08/using-java-8-completablefuture-and-rx-java-observable.html
http://www.huolong8.cn/news/247876/

相关文章:

  • h5网站开发软件下载中山网红打卡点
  • 站长工具seo综合查询怎么使用的广州模板网站建设费用
  • 找做玻璃的网站wordpress js手工合并
  • 网站技术培训学校太原app制作
  • 秦皇岛网站建设哪里有潍坊高端网站设计
  • 物流网站和数据库建设坑梓网站建设方案
  • 青岛网站建设公司有哪些网站开发设计参考文献
  • 青岛网站制作套餐营销型网站设计工资
  • 网站seo优化心得wordpress自动采集发布插件
  • 南通网站建设报价设计师个人作品展示网站
  • 网站推广的具体方案设计一套网站费用
  • 企业网站的主要类型手机电商网站 模板
  • swiper做的网站wordpress安装脚本打不开
  • 北流市建设局网站wordpress价格计算
  • 四川 网站建设android手机app开发
  • 南山网站建设 信科网络wordpress discuz 织梦
  • wordpress 子域名建站wordpress 怎么置顶
  • 更改网站备案dw做的网站如何使用
  • 蚌埠专业制作网站的公司wordpress 身份认证api
  • 一个网站开发项目小组成员汉口网站建设
  • 怎么做类似返利网的网站潍坊建设网站的公司
  • 河北建设工程网站网站建设进什么科目
  • 常平做网站学校门户网站模板
  • 建设一个商业网站费用wordpress在分类内下一页
  • 青岛网站建设康之迅江苏越润建设有限公司网站
  • 慈溪做网站公司专业seo优化推广
  • 网站开发项目流程廊坊百度提升优化
  • 永久免费网站怎么建sem工具是什么
  • 网站建设行微信小程序卖货怎么做
  • 新建网站如何调试长沙官网seo推广