0

如果我提交任务,并且 futureTask.get() 返回 null,我想以另一种方式处理我在 Callable 对象中发送的内容。调试时,我可以看到我的 Future 有一个名为“sync”的私有 final 成员。“同步”包含我的可调用对象,其中包含我在可调用对象中发送的原始数据。不幸的是,我无法做到。

在伪代码...

Callable callable = new Callable(myData);

Future future = executor.submit(callable);

if (future.get() == null)
{
     //what I would like to have if the "sync" member was available..
      String alreadySubmittedData = future.sync.callable.myData;
 }

似乎应该有办法做到这一点?谢谢。

4

2 回答 2

1

Callable并且Future无论如何只是接口,所以我想你必须自己保留这些信息(例如,将期货与地图中的可调用对象相关联)。

于 2011-09-15T15:18:54.040 回答
0

为什么你不能从你的可调用变量中获取 myData?

于 2012-01-12T09:49:14.507 回答