最簡(jiǎn)單的基本流程是:
- Callable任務(wù)通過(guò)ExecutorService來(lái)提交;
- 任務(wù)結(jié)束后返回的結(jié)果交給Future澄阳;
- Future通過(guò)get()方法去獲得實(shí)際的運(yùn)算結(jié)果。
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
class Merge implements Callable<String>{
private String strA;
private String strB;
Merge(String strA, String strB){
this.strA = strA;
this.strB = strB;
}
@Override
public String call() throws Exception {
return strA+strB;
}
}
public class CallableTest {
public static void main(String[] args) throws InterruptedException, ExecutionException {
ExecutorService es = Executors.newFixedThreadPool(1);
Merge task = new Merge("Hello " ,"World!");
Future<String> future = es.submit(task);
String result = future.get();
System.out.println(result);
es.shutdown();
}
}