如果我提交任务,并且futureTask.get()返回null,我想以另一种方式处理我在Callable对象中发送的内容。在调试时,我可以看到我的Future有一个名为“sync”的私有最终成员。 “sync”包含我的callable,它具有我在Callable中发送的原始数据。不幸的是,我无法达到它。
在伪代码中......
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;
}
似乎应该有办法做到这一点?感谢。
答案 0 :(得分:1)
Callable
和Future
只是接口,所以我猜你必须自己保留这些信息(例如将期货与地图中的callables相关联)。
答案 1 :(得分:0)
为什么你不能从变量callable获取myData?