Future 模式

考虑这样一个情况,使用者可能快速翻页浏览文件中,而图片档案很大,如此在浏览到有图片的页数时,就会导致图片的载入,因而造成使用者浏览文件时会有停顿 的现象,所以我们希望在文件开启之后,仍有一个背景作业持续载入图片,如此使用者在快速浏览页面时,所造成的停顿可以获得改善。


Future模式在请求发生时,会先产生一个Future物件给发出请求的客户,而同时间,真正的目标物件之生成,由一个 新的执行绪持续进行(即 Worker Thread),真正的目标物件生成之后,将之设定至Future之中,而当客户端真正需要目标物件时, 目标物件也已经准备好,可以让客户提取使用。

 

Future 模式_第1张图片

一个简单的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 模式)