考虑这样一个情况,使用者可能快速翻页浏览文件中,而图片档案很大,如此在浏览到有图片的页数时,就会导致图片的载入,因而造成使用者浏览文件时会有停顿的现象,所以我们希望在文件开启之后,仍有一个背景作业持续载入图片,如此使用者在快速浏览页面时,所造成的停顿可以获得改善。
Future模式在请求发生时,会先产生一个Future物件给发出请求的客户,而同时间,真正的目标物件之生成,由一个新的执行绪持续进行(即 Worker Thread ),真正的目标物件生成之后,将之设定至Future之中,而当客户端真正需要目标物件时,目标物件也已经准备好,可以让客户提取使用。

一个简单的Java程式片段示范可能像是这样:
public Future request() {
final Future future = new Future();
new Thread() {
public void run() {
// 下面这个动作可能是耗时的
RealSubject subject = new RealSubject();
future.setRealSubject(subject);
}
}.start();
return future;
}
本文探讨了在文件浏览过程中因图片加载导致的停顿问题,并介绍了如何利用Future模式来解决这一问题,通过后台线程预加载图片,提升用户体验。

437

被折叠的 条评论
为什么被折叠?



