`

设计模式教程之Future模式

阅读更多

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

 

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;

 } 

分享到:
评论

相关推荐

    实战Java高并发程序设计模式高清视频教程.zip

    在本套"实战Java高并发程序设计模式高清视频教程"中,我们将深入探讨Java平台上的高并发编程技术和设计模式,这对于任何希望构建可扩展、高效且健壮的后端服务的开发者来说,都是必不可少的知识。Java作为业界广泛...

    java多线程设计模式

    本教程将深入探讨多线程设计模式,帮助开发者理解和掌握在并发编程中的最佳实践。 1. **守护线程(Daemon Thread)** Java中的线程分为用户线程和守护线程。用户线程是程序执行的主要部分,而守护线程则提供后台...

    java多线程_设计模式_各种技术(我的书架)

    在Java编程中,多线程和设计模式是两个至关重要的概念,它们对于构建高效、可扩展和健壮的软件系统起着决定性的作用。这里,我们主要探讨的是如何在Java中实现多线程以及设计模式在Java开发中的应用。 首先,让我们...

    老生常谈java中的Future模式

    老生常谈java中的Future模式 在 Java 中,Future 模式是一种常用的设计模式,用于处理并发编程中的多线程问题。在这个模式中,线程 A 需要等待线程 B 的结果,但线程 A 不需要一直等待线程 B,可以先拿到一个未来的...

    java-design-patterns

    通过本教程的学习,读者将掌握设计模式的基本概念、分类以及在知名目录中的描述方式,学会运用设计模式作为讨论和理解面向对象软件设计的词汇,理解并掌握一些最常见的设计模式及其应用时机。 标签:Java设计模式 ...

    Spring Boot对Future模式的支持详解

    在实际开发中,当遇到需要执行耗时操作或复杂计算时,我们可以利用多线程来提升效率,而Future模式正是解决这类问题的一个有效设计模式。 Future模式的核心思想在于异步调用。当调用一个方法时,如果有多个耗时任务...

    Java并发编程:设计原则与模式(第二版).rar

    本书旨在帮助开发者理解和掌握在Java环境中进行高效并发处理的关键技术与设计模式。以下是对该书内容的一些核心知识点的概述: 1. **并发基础**:书中首先介绍了并发编程的基础概念,包括线程、进程、同步和异步...

    Java并发程序设计教程

    BlockingQueue是一种队列数据结构,用于在生产者和消费者之间进行线程间的通信,它是并发编程中的一种重要模式。 线程池是Java并发编程的另一个关键概念。ThreadPoolExecutor允许我们预先配置线程数量,从而更好地...

    Java并发程序设计教程.pdf

    `Future`对象用于获取异步任务的结果,支持阻塞和非阻塞两种模式,是处理异步计算结果的标准方式。掌握`ExecutorService`和`Future`对于构建高效、可伸缩的并发应用程序至关重要。 ### 阻塞队列 阻塞队列是Java并...

    高级java教程

    本教程将覆盖多个关键知识点,包括但不限于多线程、网络编程、异常处理、集合框架、设计模式、JVM优化、并发编程以及Java的最新特性。 1. **多线程**:Java以其优秀的多线程支持而闻名。我们将学习如何创建和管理...

    演示Google使用的生成API客户机GAPIC特性和常用API模式的API.zip

    描述中提到的"演示Google使用的生成API客户机GAPIC特性和常用API模式的API"进一步强调了这个压缩包的用途——它是关于GAPIC的实践教程,涵盖了其关键特性和常见的API设计模式。开发者可以借此学习如何有效地利用...

    JAVA高级教程(word版)

    8. **设计模式**:学习常见的设计模式,如工厂模式、单例模式、观察者模式、装饰器模式等,这些是解决软件设计问题的通用解决方案。 9. **注解**:注解提供了元数据,增强了代码的可读性和可维护性。理解标准注解和...

    《Java高级程序设计》-王路群-电子教案-3907.rar

    6. **设计模式**:教程会涵盖常见的设计模式,如工厂模式、单例模式、观察者模式、装饰者模式等,这些模式是解决软件设计中常见问题的成熟方案,也是提升代码可读性和可维护性的基石。 7. **JVM优化**:理解JVM的...

    thinking in java

    4. **设计模式章节**:特别是第16章关于设计模式的内容被认为是书中最有趣的部分之一。 #### 三、核心知识点 基于书名及其部分描述内容,《Thinking in Java》主要涵盖了以下几个方面的知识点: 1. **面向对象...

    java高级教程之2(含源码)

    7. **设计模式**:介绍常见的设计模式,如单例、工厂、观察者、装饰器、适配器等,以及如何在实际项目中应用它们。 8. **Java注解与元编程**:探讨注解的定义、使用和自定义,以及元编程的概念和在Java中的应用。 ...

    Java学习资料&项目源码&教程,基于java的聊天系统的设计于实现(系统33).zip

    4. **设计模式**:在聊天系统设计中,常见的设计模式如工厂模式(用于创建新对象)、单例模式(保证一个类只有一个实例)和观察者模式(用于事件驱动的实时通信)都可能被用到。 5. **数据持久化**:为了保存聊天...

    scala 相关书籍

    1. **《Scala设计模式》** 这本书深入探讨了如何在Scala中实现和应用设计模式。它不仅讲解了传统的Java设计模式,还介绍了Scala特有的模式,如类型类、隐式转换和特质。读者将学习如何利用Scala的高级特性来构建可...

    java高级教程

    9. **设计模式**:学习常见的设计模式,如工厂模式、单例模式、观察者模式、装饰器模式等,这些模式是解决常见软件设计问题的模板。 10. **并发编程**:Java并发库包括线程池、并发容器(如`ConcurrentHashMap`)、...

    Java高级编程教程合集.rar

    Java作为世界上最受欢迎的编程语言之一,其高级编程涵盖了丰富的主题,包括并发处理、垃圾回收机制、JVM优化、网络编程、多线程、设计模式、框架应用等。本教程合集将深入探讨这些核心概念,旨在提升Java开发者的...

    大规模C++程序设计.rar

    书中可能涵盖一些常见的设计模式,如工厂模式、单例模式和观察者模式,并解释如何在C++中实现它们。 总的来说,《大规模C++程序设计》旨在提供一套全面的指南,帮助开发者在大型项目中驾驭C++的复杂性,实现高效、...

Global site tag (gtag.js) - Google Analytics