2
네트워크에서 일부 파일을 가져 오기 위해 Executor Service를 사용하여 일부 스레드를 시작했습니다. 실행 방법이 완료되지 않은 경우에도 일정 시간이 지나면 스레드가 실행을 멈추게합니다. 어떻게 그럴 수 있습니까? 유언 집행자의 shutdown() 및 awaitTermination (...) 메소드도 작동하지 않았습니다.태스크가 완료되지 않은 경우에도 Executor 서비스 스레드를 중지하는 방법은 무엇입니까?
이것은 일반적인 질문 인 "모든 스레드를 중지하는 방법"의 특정 경우 인 것으로 보입니다. 나는 해결책이 동일하거나, 인터럽트되거나 중단되는 것을 허용하는 코드를 스레드 된 코드로 가지고 있다고 믿는다. –
'Future.get (long timeout, TimeUnit unit)'을 사용 해본 적이 없습니까? –
@VishalK 미래의 타임 아웃 (그리고 취소 되더라도), 호버 크라프트의 포인트는 여전히 유효합니다. 스레드는 자신을 중지하는 방법을 모르는 경우 백그라운드에서 계속 실행됩니다. –