문제

httpclient와 함께 내 응용 프로그램에서 비동기 스레딩을 사용하고 있습니다. 미래 API를 사용하여 전화를 걸어

mStrResults = (String) rssFuture.get();

이 호출은 호출 가능한 httpclient call () 메소드에서 반환 된 HTML 문자열을 검색하려고 시도합니다.

그러나 내가하고 싶은 것은 get 메소드가 Call () 메소드를 실행하는 동안 너무 오래 기다리지 않도록하는 것입니다. rssfuture.get ()를 호출 할 때 타임 아웃 매개 변수를 전달해야합니까?

또한 비동기 스레드가 인터럽트 꺼짐을 던지기 전에 대기 할 기본 시간이 있습니까? 그렇다면 사용자 정의 값을 설정할 수 있습니까?

도움이 되었습니까?

해결책

호출 할 때 타임 아웃 매개 변수를 전달해야합니다 rssFuture.get() 그리고 timeOutException을 잡습니다. InterruptedException은 실행하는 스레드가 귀하의 call The와 중단됩니다 Thread.interrupt 방법 또는 전화를 한 경우 cancel(true) 미래의 방법 OBJ.

다른 팁

미래를 사용해야합니다.GET (Long Timeout, TimeUnit Unit), 및 FACK TimeOutException. get ()에 대한 기본 시간 초과가 없으면 기다립니다. 영원히.

미래를 호출하는 스레드 ()가 중단되지 않으면 InterruptedException이 발생하지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top