내 코드는 인터넷에서 파일을 다운로드하는 API 메소드를 호출합니다. 다운로드에는 많은 시간이 걸릴 수 있기 때문에 배경 스레드가 파일 다운로드를 처리하는 동안 진행률 표시 줄이 표시된 창을 닫으면 다운로드를 취소 할 수있는 기능을 사용자에게 제공하고 싶습니다.이 작업을 수행하는 스레드를 종료하지 않고 파일 업로드/다운로드 작업을 취소하는 방법은 무엇입니까?
API 메서드에서 호출 한 코드를 제어 할 수 있는지 잘 모르겠습니다. 다운로드 작업을 취소해야한다는 신호를 보내는 옵션이 없다고 가정합니다.
이 가정이 맞으면 실제 파일 다운로드를 수행하는 백그라운드 스레드를 중단하거나 중단하거나 종료하지 않고도 사용자 요청에 따라 파일 다운로드 작업을 종료 할 수 있습니까?
소켓에 액세스 할 수 있으면 닫고 스레드에 예외가 발생합니다. 그렇지 않으면 두 스레드 (취소 리스너 및 다운로드 파일)가 포함 된 프로세스에서 실행하는 것이 좋습니다. 다운로드 파일은 데몬입니다. 모든 취소 방법에 대해 취소 스레드에 신호를 보내면 스레드가 파일 다운로드를 자동으로 종료하는 작업을 완료합니다. [this] (http://stackoverflow.com/questions/17577908/java-why- 이 코드가 작동하지 않는 무한 루프/17580110 # 17580110) –