public void testFuture() {
Callable call = new Callable() {
@Override
public Object call() throws Exception {
synchronized (this) {
wait(10000l);
}
return new Random().nextInt(1000);
}
};
FutureTask future = new FutureTask(call);
new Thread(future).start();
try {
Thread.sleep(1000);
System.out.println("做完了,等future");
System.out.println(future.get());
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
本文深入探讨了并发编程中Future任务的应用,通过实现Callable接口和FutureTask类,展示了如何利用线程等待机制高效处理异步任务。重点介绍了FutureTask的工作原理、线程同步与等待操作,以及如何获取异步任务的结果。
467

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



