Callable, Executor 및 Future 객체를 사용하여 별도의 스레드에서 웹 서비스를 병렬로 호출합니다. 모든 웹 서비스 호출을 실행 한 후에 결과를 jsp로 표시합니다.동시 Java 프로그래밍에서 스레드 실행을 지정하는 방법은 무엇입니까?
여기에 나는 의심 스럽다 : webservice 호출 중 하나가 실패하면 jsp에서 성공적인 호출의 결과를 어떻게 표시 할 수 있습니까?
하나의 스레드가 그 상황에서 실행하는 데 더 많은 시간이 걸리는 경우 해당 응답을 건너 뛰고 나머지 결과를 jsp로 표시하려고합니다.
하나의 웹 서버에 Thread.sleep(1000)
을 추가하려고했지만 응답도 jsp에서 지연됩니다.
@JohnVint 답변을 삭제 한 이유는 무엇입니까? – assylias
안녕하세요, assylias는 executer.shutdown() 후에 위의 코드를 작성해야합니다. excute.shotdown 전에 예, 내 작업을 제출하는 경우 더 많은 시간을 내 질문은 그것이 60 초 이상 걸리는 경우 어떻게 그 작업을 취소 할 수 있습니까? – rev
예 : 통화 종료 및 awaitTermination이 종료 된 경우 모든 것이 완료되었지만 아직 실행되지 않은 작업이있는 경우 그런 다음 future를 탐색하고'future.cancel (true)'를 호출하여 아직 실행중인 작업을 취소 할 수 있습니다. 또는'awaitTermination' 다음에'executor.shutdownNow()'를 호출하여 아직 실행중인 모든 작업을 취소 할 수 있습니다. executer.shutdown 이후에 – assylias