创建多线程的第三种方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/java_faep/article/details/82491110

使用Callable接口和FutureTask类创建,与之前的使用Thread类和Runnable接口的区别就是,该方式会返回线程执行的返回值。

import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;

public class MyThread implements Callable<String>{
	
	@Override
	public String call() throws Exception {
		
		for (int i = 0; i < 10; i++) {
			if(i == 9)
				return "执行完毕...";
		}
		return "执行失败";
	}
	
	public static void main(String[] args) {
		
		Callable<String> cb = new MyThread();
		
		FutureTask<String> ft = new FutureTask<>(cb);
		
		new Thread(ft).start();
		
		try {
			String ret = ft.get();// 线程执行返回值
			System.out.println(ret);
		} catch (InterruptedException e) {
			e.printStackTrace();
		} catch (ExecutionException e) {
			e.printStackTrace();
		}
	}

}

输出结果:执行完毕...

猜你喜欢

转载自blog.csdn.net/java_faep/article/details/82491110