
package callable; import java.util.concurrent.Callable; // 实现Callable接口,范型是返回值的类型 public class MyCallable implements Callable{ @Override public String call() throws Exception { for (int i = 0; i < 100; i++) { System.out.println("跟女生表白" + i); } // 返回值就是表示线程运行完毕之后的结果 return "答应"; } }
package callable;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;
public class Demo {
public static void main(String[] args) throws ExecutionException, InterruptedException {
// 线程开启之后需要执行里面的call方法
MyCallable mc = new MyCallable();
// 可以获得线程执行完毕之后的结果,也可以作为参数传递给Thread对象
FutureTask ft = new FutureTask<>(mc);
Thread tr = new Thread(ft);
tr.start();
// 回去返回值
// 注意:get方法一定要放在start之后
String s = ft.get();
System.out.println(s);
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)