java基础-》Future
来源:互联网 发布:淘宝老是要输入验证码 编辑:程序博客网 时间:2024/06/12 20:14
Future代表了异步计算的结果。提供的方法包括:检查计算是否完成;等待计算完成;查询计算结果。计算结果只能通过get方法获取,只有在计算结束时获取,否则会阻塞到它完成为止。通过执行cancel方法可以执行取消操作。又添加了一些方法来判断计算是否正常完成或者是半路取消。一旦计算完成,计算就不能再被取消了。如果你只是为了可取消这个特性使用Future,而不是为了使用它的计算结果。你可以声明Future的特定类型,并且返回空作为底层任务的结果。
interface ArchiveSearcher{
String search(String target);
}
public class App {
ExecutorService executor=null;
ArchiveSearcher searcher=null;
void showSearch(final String target) throws InterruptedException{
Future<String> future=executor.submit(new Callable<String>() {
@Override
public String call() throws Exception {
return searcher.search(target);
}
});
displayOtherThings();//do other things while searching
try{
diplayText(future.get());
}catch(ExecutionException ex){
cleanup();
return;
}
}
private void cleanup() {
// TODO Auto-generated method stub
}
private void diplayText(String string) {
// TODO Auto-generated method stub
}
private void displayOtherThings() {
// TODO Auto-generated method stub
}
FutureTask类是Future类的实现,同时也实现了Runnable接口。所以能被一个Executor执行,所以上述submit那段代码可以被替换为
FutureTask<String> future=new FutureTask<String>(new Callable<String>() {
@Override
public String call() throws Exception {
return searcher.search(target);
}
});
executor.execute(future);
内存一致性效果:异步计算行为在之前开始,另一个线程随后通过Future.get获取结算结果。
- java基础-》Future
- Java Future/Callable基础应用
- java.util.concurrent.Future 类基础
- java.util.concurrent.Future 类基础
- java.util.concurrent.Future 类基础
- java Future
- Java --- Future
- java future
- java future
- 多线程基础3-----<future>
- Java Future接口、Future模式理解
- java Future 接口介绍
- java future模式
- 什么是java future模式
- Java Future接口简介
- JAVA Future类
- java callable和Future
- JAVA中的Future、ExecutorService
- 兔子--Android Support v4,Android Support v7,Android Support v13
- nyoj-1112-求次数
- 在mac系统安装Apache Tomcat的详细步骤
- Visual Studio, 忽略特定警告
- 基于ARM的嵌入式Linux移植真实体验(4)――设备驱动
- java基础-》Future
- WebView与Javascript无法交互问题
- UVA - 531 Compromise
- 基于ARM的嵌入式Linux移植真实体验(3)――操作系统
- C语言编程规范--代码注释
- html5开发App
- 一道著名外企面试题的抽丝剥茧
- BZOJ系列1041《[HAOI2008]圆上的整点》题解
- 上海java程序员招聘流程分析