多线程系列之十:Future模式】的更多相关文章

Future 模式 类似于ajax请求  页面异步的进行后台请求 用户无需等待请求的结果 就可以继续浏览或者操作 核心就是:去除了主函数的等待时间,并使得原本需要等待的时间段可以用于处理其他业务逻辑 JDK内置实现Future模式演示一下 public class RealData implements Callable<String> { String res = null; @Override public String call() throws Exception { Thread.s…
一,Future模式 假设有一个方法需要花费很长的时间才能获取运行结果.那么,与其一直等待结果,不如先拿一张 提货单.获取提货单并不耗费时间.这里提货单就称为Future角色获取Future角色的线程会在稍后使用Future角色来获取运行结果在处理开始时先返回Future角色,等到其他线程出来终止后,在将结果设置到Future角色中.二,示例程序 Data:访问数据的接口 RealData:实际处理数据的类 FutureData:表示RealData的提货单, Host:先拿提货单future实…
Future模式是多线程开发中常用常见的一种设计模式,它的核心思想是异步调用.在调用一个函数方法时候,如果函数执行很慢,我们就要进行等待,但这时我们可能不着急要结果,因此我们可以让被调者立即返回,让它在后台慢慢处理这个请求,对于调用者来说可以先处理一些其他事物,在真正需要数据的场合再去尝试获得需要的数据.对于Future模式来说,虽然它无法立即给出你需要的数据,但是它们返回一个契约给你,将来你可以凭借这个契约去重新获取你需要的信息.主要的角色有: Main:系统启动,调用Client发出请求.…
一,什么是Immutable模式?immutable就是不变的,不发生改变的.Immutable模式中存在着确保实例状态不发生变化改变的类.这些实例不需要互斥处理.String就是一个Immutable类,String实例所表示的字符串的内容不会变化. 二,定义一个使用Immutable模式的类 public final class Person { private final String name; private final String address; public Person(St…
一,Thread-Per-Message模式 翻译过来就是 每个消息一个线程.message可以理解为命令,请求.为每一个请求新分配一个线程,由这个线程来执行处理.Thread-Per-Message模式中,请求的委托端和请求的执行端是不同的线程,请求的委托端会告诉请求的执行端线程:这项工作就交给你了 二,示例程序 Host类:针对请求创建线程的类Helper类:执行端,实际进行请求的处理 代码: public class Helper { public void handle(int coun…
一,Producer-Consumer模式 Producer:生产者的意思,指的是生成数据的线程.Consumer:消费者的意思,指的是使用数据的线程当生产者和消费者以不同的线程运行时,两者之间的处理速度差异就会引起问题.比如,消费者想获取数据,可是数据还没有生成.或者生产者想要交付数据,而消费者的状态还无法接收数据.Producer-Consumer模式在生产者消费者之间加入了一个桥梁角色.该桥梁角色用于消除线程间处理速度的差异.在该模式中,生产者和消费者都有多个,当消费者和生产者都只有一个时…
一,什么是Balking模式 如果现在不合适执行这个操作,或者没必要执行这个操作,就停止处理,直接返回.在Balking模式中,如果守护条件不成立,就立即中断处理. 二,例子: 定期将当前数据内容写入文件中,比如文本工具的自动保存功能,定期的将数据保存到文件中.当数据内容被写入时,会完全覆盖上次写入的内容,只有最新的内容才会被保存当写入的内容和上次的内容完全相同时,再向文件写入就多余了,所以就不再执行写入操作.所以这个程序就是以 数据内容不同 作为守护条件,如果数据内容相同,就不执行写入操作,直…
Java多线程系列1 线程创建以及状态切换    Java多线程系列2 线程常见方法介绍    Java多线程系列3 synchronized 关键词    Java多线程系列4 线程交互(wait和notify方法)    java多线程系列5 atomic简介    java多线程系列6 synchronized 加强版 ReentrantLock   java多线程系列7 高级同步工具(1)信号量Semaphore    java多线程系列8 高级同步工具(2)CountDownLatch…
Java多线程编程中,常用的多线程设计模式包括:Future模式.Master-Worker模式.Guarded Suspeionsion模式.不变模式和生产者-消费者模式等.这篇文章主要讲述Future模式,关于其他多线程设计模式的地址如下: 关于其他多线程设计模式的地址如下: 关于Master-Worker模式的详解: Java多线程编程中Master-Worker模式的详解 关于Guarded Suspeionsion模式的详解: Java多线程编程中Guarded Suspeionsio…
Java多线程编程中,常用的多线程设计模式包括:Future模式.Master-Worker模式.Guarded Suspeionsion模式.不变模式和生产者-消费者模式等.这篇文章主要讲述Future模式,关于其他多线程设计模式的地址如下: 关于其他多线程设计模式的地址如下: 关于Master-Worker模式的详解: Java多线程编程中Master-Worker模式的详解 关于Guarded Suspeionsion模式的详解: Java多线程编程中Guarded Suspeionsio…