我们知道线程能通过继承Thread和实现Runnable接口来实现,但是,他们都有一个弊端,就是run之后不能有返回值,当然我们可以通过向线程中传入变量的方式解决,但是貌似又不总是那么可靠,还好,java给了我们另外的接口Callable和Future.
我们先来看看他们的结构:
public interface Callable{
V call() throws Except...
分类:
编程语言 时间:
2015-04-09 11:59:52
阅读次数:
135
callable(object)中文说明:检查对象object是否可调用。如果返回True,object仍然可能调用失败;但如果返回False,调用对象ojbect绝对不会成功。注意:类是可调用的,而类的实例实现了__call__()方法才可调用。版本:该函数在python2.x版本中都可用。但是在...
分类:
编程语言 时间:
2015-04-08 13:07:31
阅读次数:
133
转自:JAVA 笔记 Callable 与 FutureTask:有返回值的多线程常用的Thread类在run方法执行完之后是没有返回值的,要实现子线程完成任务后返回值给主线程需要借助第三方转存。Callable接口则提供了一种有返回值的多线程实现方法。下面以一个简单的地主、监工和长工的例子展示这种...
分类:
编程语言 时间:
2015-04-07 19:20:45
阅读次数:
201
接着上一篇继续并发包的学习,本篇说明的是Callable和Future,它俩很有意思的,一个产生结果,一个拿到结果。 Callable接口类似于Runnable,从名字就可以看出来了,但是Runnable不会返回结果,并且无法抛出返回结果的异常,而Callable功能更强大一些,被线程执...
分类:
编程语言 时间:
2015-03-27 23:52:10
阅读次数:
175
Executor框架Executor框架是指java 5中引入的一系列并发库中与executor相关的一些功能类,其中包括线程池,Executor,Executors,ExecutorService,CompletionService,Future,Callable等。并发编程的一种编程方式是把任务...
分类:
编程语言 时间:
2015-03-19 12:55:58
阅读次数:
240
//创建一个线程ExecutorServiceexecutorService=Executors.newSingleThreadExecutor();Future<String>future=executorService.submit(newCallable<String>(){@OverridepublicStringcall()throwsInterruptedException{Thread.sleep(1000);return"success";}});Syste..
分类:
其他好文 时间:
2015-03-18 06:36:31
阅读次数:
115
Introduction
Callable接口代表一段可以调用并返回结果的代码;
Future接口表示异步任务,是还没有完成的任务给出的未来结果。
所以Callable用于产生结果,Future用于获取结果。
Callable接口:Java 5在concurrency包中引入了java.util.concurrent.Callable 接口,它和Runnable接口很相似,...
分类:
编程语言 时间:
2015-03-17 15:57:22
阅读次数:
197
(PHP 4, PHP 5)call_user_func — 把第一个参数作为回调函数调用mixed call_user_func ( callable $callback [, mixed $parameter [, mixed $... ]] )多用于函数名称不确定的情况下,常见于框架代码中。
分类:
其他好文 时间:
2015-03-12 22:22:39
阅读次数:
112
import java.util.Random;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;
public class FutureTaskDemo {
public static voi...
分类:
其他好文 时间:
2015-03-10 12:09:47
阅读次数:
143
方案一:
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java....
分类:
编程语言 时间:
2015-03-10 09:01:49
阅读次数:
168