原文:java多线程之Future和FutureTask

Executor框架使用Runnable 作为其基本的任务表示形式。Runnable是一种有局限性的抽象,然后可以写入日志,或者共享的数据结构,但是他不能返回一个值。 许多任务实际上都是存在延迟计算的:执行数据库查询,从网络上获取资源,或者某个复杂耗时的计算。对于这种任务,Callable是一个更好的抽象,他能返回一个值,并可能抛出一个异常。Future表示一个任务的周期,并提供了相应的方法来判 ...

2014-05-29 22:47 0 4030 推荐指数:

查看详情

Java多线程之FutureFutureTask

转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6561154.html 一:Future 在使用实现Callable创建线程时,call()方法是有返回值的。那么,我们在编程时用什么来代表这个 线程执行后才能返回的未来 ...

Fri Mar 17 03:16:00 CST 2017 0 3120
Java多线程之Executor、ExecutorService、Executors、Callable、FutureFutureTask

1. 引子 初学Java多线程,常使用Thread与Runnable创建、启动线程。如下例: 我们需要自己创建、启动Thread对象。 重要概念: 实现Runnable的类应该被看作一项任务,而不是一个线程。在Java多线程中我们一定要有一个明确的理解,任务和线程是不同的概念 ...

Tue Feb 07 18:09:00 CST 2017 0 5714
Java线程之FutureTaskFuture浅析

一、Future使用 FutureTaskFuture和Callable的结合体。传统的代码是这样写的 Future f = executor.submit(new Callable()); 然后通过Future来取得计算结果。但是,若开启 ...

Tue Aug 21 22:00:00 CST 2018 0 1461
Java多线程:Callable,Future,FutureTask

一、Future Future和Callable基本是成对出现的,Callable负责产生结果,Future负责获取结果。 1、Callable接口类似于Runnable,只是Runnable没有返回值。 2、Callable任务除了返回正常结果之外,如果发生 ...

Thu Sep 11 22:55:00 CST 2014 1 2547
多线程之线程池(Thread,Runnable,callable,Future,FutureTask)

线程对象是可以产生线程的对象。比如在Java平台中Thread对象,Runnable对象。线程,是指正在执行的一个指点令序列。在java平台上是指从一个线程对象的start()开始,运行run方法体中的那一段相对独立的过程。相比于多进程,多线程的优势有: (1)进程之间不能共享数据,线程 ...

Wed Jan 29 04:06:00 CST 2020 0 994
浅谈Java多线程之FutureTask

Runnable和Callable是多线程中的两个任务接口,实现接口的类将拥有多线程的功能,FutureTask类与这两个类是息息相关! FutureTask继承体系 看下这张图,原来FutureTask类实现了Runnable和Future,既然是Runnable的实现类 ...

Tue Nov 09 06:37:00 CST 2021 0 4751
Java多线程之FutureTask的使用与理解

FutureTask的类图 从FutureTask的类图中可以看出,FutureTask实现了Runnable接口和Future接口,所以它兼备Runnable和Future两种特性,下面先来看看如何使用FutureTask来启动一个新的线程:   可以看到,使用 ...

Sat May 16 00:07:00 CST 2020 0 1240
JAVA多线程高并发学习笔记(三)——Callable、FutureFutureTask

为什么要是用Callable和Future Runnable的局限性 Executor采用Runnable作为基本的表达形式,虽然Runnable的run方法能够写入日志,写入文件,写入数据库等操作,但是它不能返回一个值,或者抛出一个受检查的异常,有些需要返回值的需求就不能满足了。 能够取消 ...

Tue Sep 19 16:12:00 CST 2017 0 3708
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM