FutureTask的用法
2016-01-15 14:12
183 查看
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;
/**
* 使用FutureTask提前加载稍后所需要的数据
* @author jianlong
* @version 2016年1月15日 上午10:17:26
*/
public class FutureTaskDemo {
}
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;
/**
* 使用FutureTask提前加载稍后所需要的数据
* @author jianlong
* @version 2016年1月15日 上午10:17:26
*/
public class FutureTaskDemo {
private final FutureTask<ProductInfo> future = new FutureTask<ProductInfo>(new Callable<ProductInfo>(){ @Override public ProductInfo call() throws Exception{ Thread.sleep(5000); return loadProductInfo(); } }); private final Thread thread = new Thread(future); public void start(){thread.start();} protected ProductInfo loadProductInfo() { return new ProductInfo(); } public ProductInfo get() throws InterruptedException, ExecutionException{ return future.get(); } public static void main(String[] args) throws Exception{ FutureTaskDemo futureTaskDemo = new FutureTaskDemo(); System.out.println("启动线程,准备数据,这个时间需要5s"); futureTaskDemo.start(); System.out.println("模拟接下来要做很多操作/5s"); Thread.sleep(5000); futureTaskDemo.get(); } class ProductInfo{ public ProductInfo() { System.out.println("ProductInfo is initing!!!!!!!!"); } }
}
相关文章推荐
- Oracle中的DDL,DML,DCL总结
- rsync上传文件bash脚本
- expect安装测试-自动登陆脚本
- 安装iftop,遇到包不全怎么办
- expect安装测试-自动登陆脚本
- directshow抓取摄像头数据的封装类
- Python的学习感悟
- webstorm11破解方法
- ftp cmd dir问题
- C++ Primer plus第6版第9章学习笔记
- 本机php环境搭建教程:windows环境下wampserver的配置教程——超级详细
- 带有限期和效益的单位时间的作业排序贪心算法
- nginx拦截源站404错误
- java 收集正则表达式
- jave中的Random中rand.nextInt(int n )的取值范围
- 进程与线程
- matlab的输入和输出
- .net三步配置错误页面,让你的站点远离不和谐的页面
- OJ 系列之字符串基本操作
- EasyUi combotree 使用总结