1、Futurn接口参数接收Callable接口类型
2、Runnable接口参数接收RunnableFucture接口类型
3、RunnableFuture接口参数接收Future接口类型
4、Thread接收Runnable接口类型
⒈把实例化Callable类作为参数传入实例化Futurn接口的类⒉把实例化的Future引用作为参数传入Thread类中
3、new Thread(FutureTask).start(); //启动线程
4、task.get(); //返回值
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;
class MyThread implements java.util.concurrent.Callable<String> {
public String call() throws Exception {
for(int x = 0;x < 20;x ++) {
System.out.println("卖票,x = "+x);
}
return "售空";
}
}
public class ThreadTest {
public static void main(String[] args) throws InterruptedException, ExecutionException {
FutureTask<String> task = new FutureTask<String>(new MyThread());
new Thread(task).start(); //启动该线程
System.out.println(task.get());
}
}
本文介绍如何在Java中通过FutureTask获取Callable线程的返回值。示例展示了创建一个实现了Callable接口的MyThread类,以及在主线程中使用FutureTask和Thread启动并获取返回值的过程。

1412

被折叠的 条评论
为什么被折叠?



