AsyncResult和Futures的结果存储在何处/如何存储?

时间:2011-12-30 20:53:33

标签: java soap asynchronous

根据我的理解:

用户轮询将来的对象,直到结果可用。另一方面,作业是同步执行的,结果应存储在某个地方直到下次轮询。结果存储在哪里?

远程调用(如Async SOAP操作)如何实现?结果“存储”在服务器端有多长时间?

1 个答案:

答案 0 :(得分:1)

结果存储在Future对象本身中。它不存储在服务器端。

线程1将一个Callable提交给Executor。此执行程序创建一个Runnable,它实现Future并包装可调用的及其未来结果。它回归了这个未来。

执行程序中的线程2执行可运行的未来。运行时,future将执行其包装的可调用对象,并将可调用的结果存储在其结果字段中。

线程1询问未来的结果,并且将来会返回它存储在结果字段中的结果。

查看java.util.concurrent.FutureTask的源代码和文档。