多线程的设计模式之Future模式

      Future模式类似于商品订单。比如说网购时,当看中某一件商品时,就可以提交订单,当订单处理完成后,在家等待送货上门即可。再或者说,我们发送Ajax请求的时候,页面是异步的进行后台处理,用户无需一直等待请求结果,可以继续浏览或者操作其他内容。该模式充分利用了等待的时间片段。

模型的大致结构如图:

214835_ZHup_3551335.png

客户端发送一个长时间的请求,服务端不需等待该数据处理完成便立即返回一个伪造的代理数据,用户无需等待,先去执行其他的若干操作后,再去调用服务器已经完成组装的真实数据。

Client:返回Data对象,并装配RealData

Data:返回数据的接口

FutureData:Future数据,构造很快,但是是一个虚拟的数据,需要装配RealData

RealData:真实数据,构造比较慢

 

 

FutureData是对RealData的包装,它封装了获取真实数据的等待时间,类似于RealData的代理。

需要注意的是,FutureData和RealData都实现了Data这同一接口。

 

 

 

 

 

转载于:https://my.oschina.net/zhaokunlun/blog/1594779

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值