一、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);
}
}