Future设计模式简单介绍
原创 2018-03-26 15:05:26
1090阅读
2点赞
2评论
一起来看看多线程设计模式中的Future模式吧~ 概述 Future模式是多线程开发中非常常见的一种设计模式,它的核心思想是异步调用。这类似我们日常生活中的在线购物流程,带在购物网看着一件商品时可以提交表单,当订单完成后就可以在家里等待商品送货上门。或者说更形象的是我们发送Ajax请求的时候,页面是
转载 2019-11-24 21:57:00
80阅读
2评论
 一、什么是Future模型:    该模型是将异步请求和代理模式联合的模型产物。类似商品订单模型。见下图:    客户端发送一个长时间的请求,服务端不需等待该数据处理完成便立即返回一个伪造的代理数据(相当于商品订单,不是商品本身),用户也无需等待,先去执行其他的若干操作后,再去调用服务器已经完成组装的真实数据。该模型充分利用了等待的时间片段。 二、Future模式的核心结构:    Main:启
转载 2016-01-19 19:08:00
77阅读
Future模式(给你个引用 ,你在通过这个引用去获取数据。给你个钥匙,自己去拿)其中客户端实际使用时,采用线程等待形式,当other call 执行完成后,唤醒客户端请求。FutureClientpublic class FutureClient { public Data request(final String queryStr){ //1 我想要一个代理对象(Data接口的实现类)
原创 2021-04-21 21:31:36
249阅读
Future Pattern    假如有一个执行起来需要花费一些时间的方法,为了省去不必要的等待执行结果出来,继续做别的事情,则可以事先获取一个“提货单”即Future参与者,Future Pattern模式也就是这样的方式,当一个线程需要另一个线程的处理的结果时候,则不必一直等着处理结果,可以先处理别的事情,提前拿个Future对象,再过一段时间来获取另一个线程的处理结
原创 2013-05-22 10:05:27
3504阅读
1引论 什么是Future模式呢?Future 顾名思义,在金融行业叫期权,市场上有看跌期权和看涨期权,你可以在现在(比如九月份)购买年底(十二月)的石油,假如你买的是看涨期权,那么如果石油真的涨了,你也可以在十二月份依照九月份商定的价格购买。扯远了,Future就是你可以拿到未来的结果。对于多线程...
转载 2013-10-21 09:42:00
89阅读
2评论
Future模式 Future模式类似于点外卖。比如我们在某平台点了一份买卖,我们就可以去做别的事情了,等外卖小哥把外卖送来就可以了。 Future模式需要有以下几个类: 1、公共Data: /** * 公共数...
原创 2022-02-16 16:30:04
120阅读
Future 模式说白了就是异步执行任务,同步获取结果,当然也可以升级为异步执行任务,任务执行完成后执行回调操作。文章地址:​​https://mp.weixin.qq.com/s?__biz=MzU1OTgyMDc3Mg==&mid=2247483818&idx=1&sn=c2d9f6ef447d3affc40e394ea4c8bdb8&chksm=fc103b2
原创 2022-12-22 02:57:55
87阅读
先由一个例子引入什么是Future Pattern。在店员做蛋糕的时候,我可以陪MM逛街,看电影等,而不需要在蛋糕店外等候。黄昏后,我拿着这张提货单到蛋糕店来取货。店员说了声"先生,你的蛋糕好了",并把蛋糕给了我。   上面的例子就是Future Pattern的一个直观的使用例子。假设有一个执行起来要花很久的方法(如做蛋糕),我们不需要等待结果完全出来了(蛋糕做好),而是获取一张替代
转载 2023-04-26 19:31:46
66阅读
博客概述并行设计模式属于设计优化的一部分,它是对一些常用的多线程结构的总结和抽象。与串行程序相比,并行程序的结构通
原创 2022-11-21 23:48:21
119阅读
java多线程系列之future机制future是什么?在执行比较耗时的任务的时候,我们经常会采取新开线程执行的方式,比如在netty中,如果在io线程中处理耗cpu的计算任务,那么就会造成io线程的堵塞,导致吞吐率的下降(比较好理解,本来io线程可以去处理io的,现在却在等待cpu执行计算任务),这严重影响了io的效率。一般我们采用线程池来执行异步任务,一般情况下不需要获取返回值,但是特殊情况下
根据前面我所说的Futrue模式,手写一个: 分别对应的Java代码,大家拿来参考: 启动类主函数: 结果: 大家对应着上一篇博客好好研究下,这个模式的应用场景还是蛮多的。代码挺有趣的。 当要获取资源的时候,data.getResult() ,如果资源没有准备好false;那么就会阻塞该线程。直到资
转载 2018-10-26 14:32:00
64阅读
2评论
Future模式是一种非常常见的设计模式,其核心思想就是异步调用。1.Future模式的主要参与者参与者作用备注Main系统启动,调用client发出请求可以看做是一个应用client用于返回Data对象,立即返回FutureData,并开启一个线程装配RealDataData返回数据的接口FutureDataFutureData实现了Data接口,
原创 2019-01-24 22:34:43
671阅读
假设一个任务执行需要花费一些时间,为了省去不必要的等待时间,可以先获取一个提货单,即future,然后继续处理别的任务,知道货物到达,即任务完成得到结果,此时可以使用提货单提货,即通过future得到返回值。 如下代码所示,加载数据需要10秒中,测试可以先开始任务,随后处理其他的事情,等其他事情都处理完后再取结果。 import java.util.concurrent.Calla...
原创 2021-07-22 15:33:58
157阅读
future模式解决异步代码的组织(混入)问题; 类似的解决方案: 1、网络响应的block; 2、SDImageview的自组织、代理模式; 3、顶层响应机制的协议机制;
转载 2018-03-19 19:41:00
82阅读
2评论
理论 所谓 future 模式就是将任务提交给后台线程,然后主线程继续进行其他任务,当调用任务返回数据的时候,如果任务还未返回就阻塞等待任务。 举个例子: 一个人上街买西瓜汁(5min)????和馒头(1min) 传统方式: 因为西瓜汁要榨所以要等待5分钟,而馒头是做好的不用等待,传统方式是:先买西瓜,就等5分钟,然后再买馒头。总共耗时:5+1 Future模式: 让西瓜汁先做,...
原创 2021-07-29 14:07:52
449阅读
​多线程程序评价标其中安全性就是不损坏对象。也就是保证对象内部的字段的值与预期相同。
转载 2022-05-07 07:54:29
218阅读
产生原因 当某一段程序提交了一个请求,期望得到一个答复。但非常不幸的
原创 2022-12-12 16:21:57
55阅读
Java Future模式 多线程 模拟实现
原创 精选 2016-12-02 23:00:15
2401阅读
1引论        什么是Future模式呢?Future 顾名思义,在金融行业叫期权,市场上有看跌期权和看涨期权,你可以在现在(比如九月份)购买年底(十二月)的石油,假如你买的是看涨期权,那么如果石油真的涨了,你也可以在十二月份依照九月份商定的价格购买。扯远了,Future就是你可以拿到未来的结果。对于多线程,如果线程A要等待线程B
原创 2009-04-07 20:41:41
9731阅读
1点赞
  • 1
  • 2
  • 3
  • 4
  • 5