Java Thread系列(十)Future 模式 Future 模式适合在处理很耗时的业务逻辑时进行使用,可以有效的减少系统的响应时间,提高系统的吞吐量。 一、Future 模式核心思想 如下的请求调用过程时序图。当 call 请求发出时,需要很长的时间才能返回。左边的图需要一直等待,等返回数据后 ...
分类:
编程语言 时间:
2018-05-06 22:28:56
阅读次数:
228
转载自:http://www.cnblogs.com/cz123/p/7693064.html 先上一个场景:假如你突然想做饭,但是没有厨具,也没有食材。网上购买厨具比较方便,食材去超市买更放心。 实现分析:在快递员送厨具的期间,我们肯定不会闲着,可以去超市买食材。所以,在主线程里面另起一个子线程去 ...
分类:
编程语言 时间:
2018-04-26 23:34:17
阅读次数:
296
一、 Future模式理解 先说一下为什么要用future模式:两个任务没有必然的前后关系,如果在一个线程中串行执行,就有些浪费时间,不如让两个线程去并行执行这两个任务,执行完了到主线程去汇报就可以了。(让任务后台运行,不阻塞线程) 则使用Future模式耗费的时间为: max(TimeofTask ...
分类:
其他好文 时间:
2018-04-16 19:50:48
阅读次数:
320
先上一个场景:假如你突然想做饭,但是没有厨具,也没有食材。网上购买厨具比较方便,食材去超市买更放心。 实现分析:在快递员送厨具的期间,我们肯定不会闲着,可以去超市买食材。所以,在主线程里面另起一个子线程去网购厨具。 但是,子线程执行的结果是要返回厨具的,而run方法是没有返回值的。所以,这才是难点, ...
分类:
编程语言 时间:
2018-04-06 18:36:00
阅读次数:
223
1. 同步调用,调用方掌握控制权
2. 异步回调,调用方放权,从而可以实现并行处理任务
3. Future 模式,则是控制权和平行处理的折中
分类:
其他好文 时间:
2018-02-28 10:36:58
阅读次数:
170
在之前一篇博客中介绍了Future设计模式的设计思想以及具体实现,今天我们来讲一下使用JDK原生的包如何实现。 JDK内置的Future主要使用到了Callable接口和FutureTask类。 Callable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都 ...
分类:
编程语言 时间:
2018-02-13 12:26:43
阅读次数:
244
1 public interface Data { 2 3 String getRequest(); 4 } 5 6 7 public class RealData implements Data{ 8 9 private String result ; 10 11 public RealData ... ...
分类:
其他好文 时间:
2018-01-27 13:37:37
阅读次数:
130
Main FutureData RealData Data ...
分类:
编程语言 时间:
2017-11-25 11:27:05
阅读次数:
128
多线程开发可以更好的发挥多核cpu性能,常用的多线程设计模式有:Future、Master-Worker、Guard Susperionsion、不变、生产者-消费者 模式; jdk除了定义了若干并发的数据结构,也内置了多线程框架和各种线程池; 锁(分为内部锁、重入锁、读写锁)、ThreadLoca ...
分类:
其他好文 时间:
2017-11-02 00:59:23
阅读次数:
175
在Java中,如果需要设定代码执行的最长时间,即超时,可以用Java线程池ExecutorService类配合Future接口来实现。 Future接口是Java标准API的一部分,在java.util.concurrent包中。Future接口是Java线程Future模式的实 现,可以来进行异步 ...
分类:
编程语言 时间:
2017-09-05 14:35:23
阅读次数:
195