0

タスクを送信し、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;
 }

これを行う方法があるべきだと思われますか?ありがとう。

4

2 に答える 2

1

CallableFutureはとにかくインターフェースにすぎないので、その情報を自分の周りに保持する必要があると思います(たとえば、future をマップ内の callable に関連付けるなど)。

于 2011-09-15T15:18:54.040 に答える