私がタスクを送信し、futureTask.get()がnullを返した場合、Callableオブジェクトで送信した内容を別の方法で処理したいと思います。デバッグすると、私のFutureには "sync"というプライベートな最終メンバがあることがわかります。 「同期」には、Callableで送信した元のデータを持つ私のCallableが含まれています。残念ながら、私はそれに到達することはできません。擬似コードでnullの結果を持つjava.util.concurrent.Futureの処理
...
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;
}
これを行う方法があるはずのように思えますか?ありがとう。
回答ではなくコメントに関するこの質問を投稿することを検討してください – adarshr