您的位置:首页 > 产品设计 > UI/UE

java Futrue FutureTask ——笔记

2015-04-04 19:54 246 查看


package com.futrue;

import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.FutureTask;

/*
* 执行一个线程,获得线程的返回值
*/
public class FutureDemo {

public static void main(String[] args) {

//线程池方法,线程池实际上也是一个线程
ExecutorService service = Executors.newCachedThreadPool();
FutureTask<String> task = new FutureTask<String>(new Callable<String>() {

@Override
public String call() throws Exception {
return Thread.currentThread().getName();
}
});

service.execute(task);
try {
String res = task.get();
System.out.println("res = "+res);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ExecutionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
service.shutdown();

}
}


运行结果:

res = pool-1-thread-1

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: