zxy0307's picture
Upload 2300 files
0284885 verified
Raw History Blame Contribute Delete
1.31 kB
package Thread_implements_package;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;
public class Thread_demo3 {
public static void main(String[] args) throws ExecutionException, InterruptedException {
/*
* 多线程的第三种实现方式:
* 特点:可以获取到多线程运行的结果
*
* 1、创建一个类MyCallable实现Callable接口
* 2、重写call(是有返回值的,表示多线程运行的结果)
*
* 3、创建MyCallable的对象(表示多线程要执行的任务)
* 4、创建FutureTask的对象(用来管理多线程运行的结果)
* 5、创建Thread类的对象,并启动(表示线程)
*/
//1、创建MyCallable的对象(表示多线程要执行的任务)
MyCallable mc = new MyCallable();
//2、创建FutureTask的对象(用来管理多线程运行的结果)
FutureTask<Integer> ft = new FutureTask<>(mc);
//3、创建线程对象
Thread t1 = new Thread(ft);
//启动线程
t1.start();
//获取多线程运行的结果
Integer result = ft.get();
System.out.println(result);
}
}