<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    keep moving!

    We must not cease from exploration. And the end of all our exploring will be to arrive where we began and to know the place for the first time.
    隨筆 - 37, 文章 - 2, 評論 - 3, 引用 - 0
    數據加載中……

    Design Pattern: Future 模式

    Future模式可以簡單的看成是 Proxy 模式Thread-Per-Message 模式 的結合,在Proxy模式中,用一個Proxy來代替真正的目標(Subject)生成,目標的生成可能是費時的,例如在開啟一個內嵌圖片的文件中,希望程式能儘快完成開啟文件的動作,並顯示一個可接受的畫面給使用者看,在還不需要看到圖片的頁面中先使用Proxy代替真正的圖片載入,只有在真正需要看到圖片時,才由Proxy物件載入真正的圖片。

    考慮這樣一個情況,使用者可能快速翻頁瀏覽文件中,而圖片檔案很大,如此在瀏覽到有圖片的頁數時,就會導致圖片的載入,因而造成使用者瀏覽文件時會有停頓的現象,所以我們希望在文件開啟之後,仍有一個背景作業持續載入圖片,如此使用者在快速瀏覽頁面時,所造成的停頓可以獲得改善。

    Future模式在請求發生時,會先產生一個Future物件給發出請求的客戶,它的作用就像是Proxy物件,而同時間,真正的目標物件之生成,由一個新的執行緒持續進行(即Thread-Per-Message),真正的目標物件生成之後,將之設定至Future之中,而當客戶端真正需要目標物件時,目標物件也已經準備好,可以讓客戶提取使用。

    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;
     }


    張金鵬 2007-04-17 10:57 發表評論

    文章來源:http://www.tkk7.com/jesson2005/articles/111199.html

    posted on 2008-09-07 11:06 大石頭 閱讀(165) 評論(0)  編輯  收藏 所屬分類: 多線程

    主站蜘蛛池模板: 色噜噜AV亚洲色一区二区| 免费鲁丝片一级观看| 亚洲精品乱码久久久久久中文字幕 | 性一交一乱一视频免费看| 精品亚洲A∨无码一区二区三区| a级毛片毛片免费观看久潮喷| 久久久久亚洲AV无码专区网站| caoporn国产精品免费| 激情综合色五月丁香六月亚洲| 亚洲免费视频一区二区三区| 国产成人亚洲综合无码精品| 在线看片免费人成视频播 | 久久精品国产亚洲av高清漫画| 未满十八18禁止免费无码网站 | 亚洲成人一级电影| 18禁成年无码免费网站无遮挡| 亚洲一久久久久久久久| 又黄又大又爽免费视频| 一级一级一级毛片免费毛片| 亚洲精品成人片在线观看精品字幕 | 小日子的在线观看免费| 亚洲综合区图片小说区| 日本高清色本免费现在观看| 黄色毛片视频免费| 久热综合在线亚洲精品| 国产成人精品免费视频动漫| 亚洲日本成本人观看| 亚洲精品无码成人片在线观看| 女同免费毛片在线播放| 亚洲乱码一二三四区国产| 国产成人免费高清在线观看| 中文无码日韩欧免费视频| 在线免费观看亚洲| 国产免费拔擦拔擦8x| 少妇性饥渴无码A区免费| 亚洲日本va在线观看| 亚洲色无码专区在线观看| 黄色永久免费网站| av网站免费线看| 亚洲人6666成人观看| 亚洲国产婷婷香蕉久久久久久|