タスクを送信し、futureTask.get() が null を返した場合、Callable オブジェクトで送信した内容を別の方法で処理したいと考えています。デバッグすると、Future に「sync」というプライベートの最終メンバーがあることがわかります。「sync」には呼び出し可能オブジェクトが含まれており、呼び出し可能オブジェクトで送信した元のデータが含まれています。残念ながら、私はそれに到達することはできません。
疑似コードで...
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;
}
これを行う方法があるべきだと思われますか?ありがとう。