一、Java FutureTask简介
Java Callable是Java实现线程的第三种方式,它一般和FutureTask或者线程池联合使用,前两种是继承Thread和实现Runnable接口。那么Java FutureTask有什么优点呢?
(1)用它可以实现有返回值的线程 (2)它提供了一些良好的控制线程的方法:cancel,get等
二、简单用法示例 (简单起见没有try catch)
package com;
import java.util.concurrent.Callable;
import java.util.concurrent.FutureTask;
import java.util.concurrent.TimeUnit;
public class Main {
public static void main(String[] args) throws Exception {
FutureTask<String> task = new FutureTask<String>(
new Callable<String>() {
@Override
public String call() throws Exception {
// TODO Auto-generated method stub
return Thread.currentThread().getName();
}
});
new Thread(task,"有返回值的线程").start();
String result=task.get(3000, TimeUnit.MILLISECONDS);
System.out.println(result);
}
}