import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;
public class MyCallBack implements Callable<String>{
private String threadName;
public MyCallBack() {
}
public MyCallBack(String theadName) {
this.threadName = theadName;
}
public String call() throws Exception {
for (int i = 0; i < 100; i++) {
System.out.println(threadName+"===>\t"+i);
}
return threadName+"\t is over";
}
public static void main(String[] args) {
MyCallBack callBack = new MyCallBack("thread0");
FutureTask<String> taskList = new FutureTask<String>(callBack);
Thread t = new Thread(taskList);
t.start();
try {
for (int i = 0; i < 100; i++) {
System.out.println("thread1===>\t"+i);
}
while(!taskList.isDone()){
System.out.println(taskList.get());
}
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
}