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

商城网站制作多少钱自己创建外贸公司

商城网站制作多少钱,自己创建外贸公司,wordpress一个页面如何连接到首页,外国做水吧设计的网站在 Java 中#xff0c;并行流 (parallelStream) 和 CompletableFuture 都是处理并发和异步编程的工具#xff0c;但它们在使用场景和适用性上有一些区别。下面是一些指导原则#xff0c;可以帮助你在选择使用并行流或 CompletableFuture 时做出决策#xff1a; 使用场景并行流 (parallelStream) 和 CompletableFuture 都是处理并发和异步编程的工具但它们在使用场景和适用性上有一些区别。下面是一些指导原则可以帮助你在选择使用并行流或 CompletableFuture 时做出决策 使用场景 1. 并行流 (parallelStream) 适用场景: 需要对集合进行并行处理。操作是独立的无需等待其他元素的结果。数据量较大适合并行分割和处理。 优点: 语法简洁易于使用。不需要显式的线程管理。 parallelStream 是 Java 8 引入的一个功能允许对集合进行并行处理。这是传统顺序 stream 的并行版本。以下是一个简要的解释 用法: ListT myList // 一些列表或集合 myList.parallelStream().forEach(element - {// 要在每个元素上并行执行的代码 });解释: parallelStream() 将顺序流转换为并行流。流的元素由多个线程并发处理这有可能提高在多核处理器上的性能。然而重要的是要注意并非所有操作都适合并行处理这取决于任务的性质。 2. CompletableFuture 适用场景: 需要更细粒度的控制例如异步任务之间的依赖关系。需要等待多个异步任务全部完成或任一完成。需要处理异常和结果。 优点: 提供了更灵活的异步编程能力。可以使用回调、组合和链式调用等方式。 CompletableFuture.runAsync 是 Java 8 引入的 CompletableFuture API 的一部分提供了进行异步编程的一种方式。以下是它的工作原理 用法: // 1、使用ForkJoinPool.commonPool()作为它的线程池执行异步代码System.out.println(当前调用者线程为: Thread.currentThread().getName()); CompletableFuture.runAsync(() - {// 异步方法内当前执行线程为:ForkJoinPool.commonPool-worker-1System.out.println(异步方法内当前执行线程为: Thread.currentThread().getName());System.out.println(---------------------); });CompletableFutureVoid future CompletableFuture.runAsync(() - {// 异步执行的代码 });//2、使用指定的线程池执行异步代码。此异步方法无法返回值。System.out.println(当前调用者线程为: Thread.currentThread().getName()); // fixme 根据阿里规约 建议真实开发时使用 ThreadPoolExecutor 定义线程池 ExecutorService threadPool Executors.newFixedThreadPool(10);CompletableFuture.runAsync(() - {// 异步方法内当前执行线程为:pool-1-thread-1System.out.println(异步方法内当前执行线程为: Thread.currentThread().getName());System.out.println(111); }, threadPool);// 演示代码执行完后关闭线程池 threadPool.shutdown(); 解释: runAsync 是一个工厂方法创建一个新的 CompletableFuture 并在单独的线程中运行指定的 Runnable。它返回一个 CompletableFutureVoid因为 Runnable 不产生结果。你可以附加回调或组合多个 CompletableFuture 实例以链接异步操作。 具体指导原则 并行流parallelStream 与 CompletableFuture的选择 计算密集型操作推荐使用 parallelStream: 原因 计算密集型操作可以充分利用并行流的简单实现和高效性能。并行流的底层实现会自动分配工作给可用的处理器核心提高整体计算速度。 含有I/O操作推荐使用 CompletableFuture: 原因 CompletableFuture 提供更灵活的异步编程能力特别适用于等待I/O的操作。可以根据等待和计算的比率灵活地控制线程数避免不必要的线程创建。在涉及到等待I/O的操作时使用 CompletableFuture 会更加灵活可以避免并行流的延迟特性造成的难以判断的情况。通过 CompletableFuture.supplyAsync 创建异步任务然后使用 CompletableFuture.allOf 等待它们全部完成。示例 ListCompletableFutureInteger futures myList.stream().map(element - CompletableFuture.supplyAsync(() - performIoOperation(element))).collect(Collectors.toList());CompletableFutureVoid allOf CompletableFuture.allOf(futures.toArray(new CompletableFuture[0])); allOf.join();ListInteger result futures.stream().map(CompletableFuture::join).collect(Collectors.toList());1. 简单的并行处理: 如果任务可以独立并行处理: 选择并行流 (parallelStream): 示例对集合中的元素执行相同的操作互不影响。myList.parallelStream().forEach(element - { // 并行处理的操作 }); 2. 复杂的异步任务: 如果任务之间有依赖关系需要更细粒度的控制: 选择 CompletableFuture: 示例一个异步任务的结果依赖于另一个异步任务的完成。CompletableFutureVoid future CompletableFuture.runAsync(() - {// 异步任务1 }).thenRun(() - {// 异步任务2依赖于任务1的完成 }); 3. 等待多个任务完成: 如果需要等待多个任务全部完成或任一完成: 选择 CompletableFuture: 示例等待多个异步任务的全部完成或任一完成。CompletableFutureVoid future1 CompletableFuture.runAsync(() - {// 异步任务1 });CompletableFutureVoid future2 CompletableFuture.runAsync(() - {// 异步任务2 });CompletableFutureVoid combinedFuture CompletableFuture.allOf(future1, future2); combinedFuture.join(); // 等待全部完成4. 异常处理: 如果需要更丰富的异常处理: 选择 CompletableFuture: 示例对每个异步任务进行异常处理。CompletableFutureVoid future CompletableFuture.runAsync(() - {// 异步任务 }).exceptionally(throwable - {// 异常处理return null; // 或提供默认值 });5. 性能考虑: 如果是对集合进行简单操作数据量较大: 选择并行流 (parallelStream): 示例对集合进行简单的映射、过滤等操作。myList.parallelStream().map(element - {// 简单操作return transformedElement; }); 总结 简单的并行处理和集合操作: 选择并行流 (parallelStream) 复杂的异步任务、依赖关系、等待多个任务完成: 选择 CompletableFuture 在实际应用中通常你会根据具体的需求和场景选择合适的工具。有时候也可以结合使用这两者以发挥各自的优势。
http://www.pierceye.com/news/105648/

相关文章:

  • 代写文章兼职济南公交优化
  • 商城开发网站建立公司网站步骤
  • 查询域名注册网站泰国做网站
  • 网站图片描述怎么写社区类网站有哪些
  • 网站竞争对手的选定一般参考什么标准的网站的推广方案的内容有哪些
  • 把别人的图片拿来做网站wordpress 覆盖原始图片对比效果
  • 江门市建设工程备案网站乌兰浩特网站开发
  • 个人介绍微电影网站模板免费下载一个网站的建设成本
  • 搬瓦工怎么做网站百度小程序开发教程
  • 织梦网站被攻击小型门户网站建设方案
  • 长沙网站托管公司排名静态网站结构如何更新
  • 网站建设 宜宾湖州网站建设培训教程
  • 网站建设脚本什么叫营销型网站
  • 沧州网站建设专业的公司4000-262-seo优化与品牌官网定制
  • 网页游戏推广网站怎么做如何创建平台类网站
  • 十堰英文网站建设学校教育网站模板
  • 学校网页网站模板免费下载微信的微网站
  • 网站开发的解决方案小型行业网站建设维护成本
  • 浏阳市网站建设百度中心人工电话号码
  • 高端外贸网站制作智慧团建网站没有验证码
  • 做网站需要买服务器么网站建设营销外包公司排名
  • 网站建设中要多使用图片258网站建设
  • 做多语言网站教程开网页慢是什么原因
  • 汽车商城网站模板seo公司网站推广
  • 网站备案查询工信部官网网站建设费用推荐网络专业
  • 网站开发费用是研发费用国内做seo最好公司
  • 什么是网站建设公司企业网站后台管理
  • 做网站阿里巴巴好还是百度好柠檬网络科技网站建设
  • 做个网站要多少钱网站建设工作 方案
  • 一个主体如何添加网站室内设计公司的名字