2011-09-15 4 views
0

작업을 제출하고 futureTask.get()이 null을 반환하면 Callable 객체에서 보낸 내용을 다른 방법으로 처리하고 싶습니다. 디버깅 할 때 내 Future에 "sync"라는 개인 최종 멤버가 있음을 알 수 있습니다. "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; 
} 

보인다? 감사.

답변

1

CallableFuture은 인터페이스이므로 인터페이스 (예 :지도의 콜웨어에 선물을 연결)는 자신에 관한 정보를 유지해야합니다.

0

변수 호출에서 myData를 가져올 수없는 이유는 무엇입니까?

+0

질문에 대한이 질문을 대답 대신 설명으로 게시하는 것을 고려하십시오. – adarshr

관련 문제