美文网首页
Future模式

Future模式

作者: 加油小杜 | 来源:发表于2018-04-12 17:11 被阅读9次

https://www.cnblogs.com/lcngu/p/5289605.html

Future模式简介

 Future模式有点类似于网上购物,在你购买商品,订单生效之后,你可以去做自己的事情,等待商家通过快递给你送货上门。Future模式就是,当某一程序提交请求,期望得到一个答复。但是可能服务器程序对这个请求的处理比较慢,因此不可能马上收到答复。但是,在传统的单线程环境下,调用函数是同步的,它必须等到服务程序返回结果,才能继续进行其他处理。而Future模式下,调用方法是异步的,原本等待返回的时间段,在主调函数中,则可以处理其他的任务。传统的串行程序钓友如下图所示:

Future模式的处理流程: 从图中可以看出,虽然call()本身是一个需要很长世间处理的程序。但是,服务程序不等数据处理完就立刻返回客户端一个伪数据(类似于商品订单,你购物需要的是商品本身),实现Future模式的客户端在拿到这个返回结果后,并不急于对它进行处理,而是去调用其它的业务逻辑,使call()方法有充分的时间去处理完成,这也是Future模式的精髓所在。在处理完其他业务逻辑后,最后再使用处理比较费时的Future数据。这个在处理过程中,就不存在无谓的等待,充分利用了时间,从而提升了系统的响应和性能。

Future模式的核心结构

下面以一个经典的Future实现为例,简单介绍下Future的核心实现。代码中Date接口:返回数据的接口;FutureDate类:实现Date接口,构造很快,返回一个虚拟的伪数据,需要装配RealDate;RealDate类:实现Date接口,返回真实数据,构造比较慢;Client:返回Date数据,立即返回FutureDate数据,并开启线程装配RealDate数据。

 代码实现:

相关文章

  • Java8新的异步编程方式 CompletableFuture(

    一. Future JDK 5引入了Future模式。Future接口是Java多线程Future模式的实现,在j...

  • Java8 CompletableFuture指北

    一、JAVA 异步处理的演变 1.1 Future JDK 5引入了Future模式。Future模式是多线程设计...

  • Java并发编程——CompletableFuture详解

    一、简介 JDK 5引入了Future模式。Future接口是Java多线程Future模式的实现,在java.u...

  • Java中的Future模式

    Future模式 核心思想是异步调用,在java中内置了对Future模式的实现,主要就是Future接口、Cal...

  • CompletableFuture打开方式

    前言: Future模式是CompletableFuture的基础,Future模式有哪些应用场景呢? 超时控制场...

  • 多线程Future设计模式的两种用法

    多线程Future设计模式 Future接口定义: Future接口的实现类: 封装任务的FutureTask接口...

  • Future

    Future模式 概念 ```Future模式是多线程设计常用的一种设计模式,类似商品订单。商品下单后,会立即得到...

  • java初入多线程18

    Future 模式 该模式核心思想是异步调用。 jdk 中的Future 模式 在这里面我们首先创建FutureT...

  • Future模式

    https://www.cnblogs.com/lcngu/p/5289605.html Future模式简介 F...

  • Future模式

    一、定义Future模式用来获取线程的执行结果。在Thread-Per-Message模式中,如果调用一个线程异步...

网友评论

      本文标题:Future模式

      本文链接:https://www.haomeiwen.com/subject/ezlfkftx.html