1. FutureTask的get方法靠什么机制来阻塞 看其get方法源码: /** * @throws CancellationException {@inheritDoc} */ public V get() throws InterruptedException, ExecutionExcep... ...
分类:
其他好文 时间:
2016-06-20 14:03:00
阅读次数:
425
在上一文章中,笔者介绍了线程池及其内部的原理。今天主要讲的也是和线程相关的内容。一般情况下,使用Runnable接口、Thread实现的线程我们都是无法返回结果的。但是如果对一些场合需要线程返回的结果。就要使用用Callable、Future、FutureTask、CompletionService这几个类。Callable只能在ExecutorService的线程池中跑,但有返回结果,也可以通过...
分类:
编程语言 时间:
2016-06-12 10:52:39
阅读次数:
464
当向Executor提交批处理任务时,并且希望在它们完成后获得结果,如果用FutureTask,你可以循环获取task,并用 future.get()去获取结果,但是如果这个task没有完成,你就得阻塞在这里,这个实效性不高,其实在很多场合,其实你拿第一个任务结果时,此 时结果并没有生成并阻塞,其实在阻塞在第一个任务时,第二个task的任务已经早就完成了,显然这种情况用future task不合适...
分类:
其他好文 时间:
2016-05-30 15:15:51
阅读次数:
108
原文链接:http://www.cnblogs.com/dolphin0520/ 作者:海子 在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通 ...
分类:
编程语言 时间:
2016-05-18 09:13:50
阅读次数:
253
Java并发编程:Callable、Future和FutureTask 在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程 ...
分类:
编程语言 时间:
2016-05-17 23:58:53
阅读次数:
411
最近无意间看到了关于AsyncTask的一篇分析文章AsyncTask源码分析,记得很早之前还看过郭神博客里面分析了AsyncTask源码。去查看AsyncTask源码会发现里面使用了FutureTask在它自己的构造函数里面,我的sdk是android-23里面查看的。 /**
* Creates a new asynchronous task. This constructor mus...
分类:
编程语言 时间:
2016-05-12 18:20:46
阅读次数:
223
前置内容:Callable、Future、FutureTask
Executor子类的execute方法接收一个Runnable作为参数,会在新线程中执行Runnable中的任务,ScheduledthreadPollExecutor也可以submit任务,参数可以是Runnable或者Callable。Callable可以理解为待返回值的Runnable。FutureT...
分类:
其他好文 时间:
2016-04-29 15:34:47
阅读次数:
124
AsyncTask 的构造函数 在构造函数中,实例化了两个变量 mWorker 就是一个 Callable 的实现类。 mFuture 需要看一下 FutureTask 的源码。 下面看最主要的方法: 该方法调用了下面的方法: executeOnExecutor 方法可以指定 Executor 来执 ...
分类:
其他好文 时间:
2016-04-29 14:05:42
阅读次数:
176
在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。 而自从Java 1.5开
分类:
编程语言 时间:
2016-03-21 17:53:38
阅读次数:
375
我们平时接触到的多线程Thread,Runnable,这两种方式不能返回线程执行后的结果。 Callable和Future,前者产生结果,后者拿到结果。 Callable和Future 推荐一篇不错的博客:http://blog.csdn.net/ghsau/article/details/7451
分类:
编程语言 时间:
2016-03-17 19:13:59
阅读次数:
158