Callable是一个接口,里面只有一个方法:call,此方法有返回值。
package com.sxt;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;
public class CableDemo implements Callable {
@Override
public String call() throws Exception { //可以有返回值
return Thread.currentThread().getName();
}
public static void main(String[] args) throws InterruptedException, ExecutionException {
CableDemo cd=new CableDemo();
FutureTask ft=new FutureTask(cd);
FutureTask ft1=new FutureTask(cd);
Thread td=new Thread(ft);
Thread td1=new Thread(ft1);
td.setName("张三");
td1.setName("李四");
td.start();
td1.start();
System.out.println(ft.get()); //通过get方法获取返回值
System.out.println(ft1.get());
}
}