实现Callable接口:
//创建未来任务类java.util.FutuerTask对象,使用匿名内部类
FutureTask f=new FutureTask(new Callable() {
//call方法相当于run方法,但是有返回值
//相当于线程执行结束返回一个结果
public Object call() throws InterruptedException {
System.out.println("begin call");
Thread.sleep(5000);
System.out.print("over begin");
return 1;
}
});
//创建线程对象
Thread t=new Thread(f);
t.start();
//拿到t线程执行的结果
Object o=f.get();
这种方法可能有阻塞,因为要等t线程执行完main线程才能拿到结果。