FutureTask简介
所属分类 java
浏览量 842
FutureTask 实现了RunnableFuture接口
RunnableFuture继承了Runnable和Future接口
既可以作为Runnable被线程执行,又可以作为Future得到Callable的返回值
FutureTask 使用线程或提交到线程池执行
get方法获取结果
import java.time.LocalDateTime;
import java.util.concurrent.Callable;
import java.util.concurrent.FutureTask;
public class FutureTaskAndThreadTest {
public static void main(String[] args) throws Exception {
FutureTask futureTask = new FutureTask(new MyTask());
// futureTask 使用线程或提交到线程池执行
// System.out.println(futureTask.get());
Thread thread = new Thread(futureTask);
thread.start();
System.out.println("futureTask thread start " + LocalDateTime.now());
String result = futureTask.get();
System.out.println("futureTask result=" + result + "," + LocalDateTime.now());
}
private static class MyTask implements Callable {
public String call() throws Exception {
Thread.sleep(1000);
return LocalDateTime.now().toString();
}
}
}
例子代码
https://gitee.com/dyyx/hellocode/blob/master/src/dyyx/conc/FutureTaskTest.java
https://gitee.com/dyyx/hellocode/blob/master/src/dyyx/conc/FutureTaskAndThreadTest.java
线程池实例之提交返回类型不同的任务
Runnable Callable Future FutureTask
上一篇
下一篇
能源化工ETF 159981
马斯洛需求层次理论
线程池实例之提交返回类型不同的任务
框架效应
正态分布和幂律分布
javascript json 格式化