rosqueamento Future.get () e InterruptedException assíncrona

votos
1

Im usando segmentação assíncrona no meu aplicativo COM httpclient. Posso fazer uma chamada usando a API do Futuro como assim

mStrResults = (String) rssFuture.get();

esta chamada tenta recuperar uma string html retornei de minha chamada httpclient mobilizável () método.

O que eu quero fazer, porém, é garantir que o método get não esperar muito tempo durante a execução do método call (). Devo passar um parâmetro de tempo limite ao chamar rssFuture.get () ou é ok para apenas cercar com um bloco InterruptedException captura?

Também há um tempo padrão que o segmento assíncrono irá esperar antes de lançar uma InterruptedException e se assim eu posso definir um valor personalizado?

Publicado 09/12/2008 em 15:44
fonte usuário
Em outras línguas...                            


2 respostas

votos
2

Você deve usar Futuro. get (tempo limite de comprimento, unidade TimeUnit) , e pegar TimeoutException. Não há tempo limite padrão para get (), ele vai esperar para sempre .

InterruptedException não vai ser jogado a menos que o thread de chamada Future.get () é interrompida.

Respondeu 09/12/2008 em 16:07
fonte usuário

votos
3

Você deve passar um parâmetro de tempo limite ao chamar rssFuture.get()e pegar o TimeoutException. Um InterruptedException só acontecerá se o fio condutor do seu callé interrompido com o Thread.interruptmétodo ou se você chamar o cancel(true)método no obj Futuro.

Respondeu 09/12/2008 em 16:12
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more