Java에서 InterruptedException을 처리하는 것은 이 예외를 발생시킬 수 있는 메서드를 처리하는 데 중요합니다. 이 중단을 처리하기 위한 두 가지 일반적인 접근 방식은 다음과 같습니다.
try { // ... } catch (InterruptedException e) { Thread.currentThread().interrupt(); }
이 접근 방식은 InterruptedException이 메서드의 유효한 결과를 나타내고 다음에 전파되어야 하는 경우에 적합합니다. 발신자. 예를 들어, 메서드가 InterruptedException을 발생시키는 차단 네트워크 호출을 수행하는 경우 이 예외가 전파되어 작업이 중단되었음을 나타내는 것이 합리적입니다.
try { //... } catch (InterruptedException e) { Thread.currentThread().interrupt(); throw new RuntimeException(e); }
이 접근 방식은 중단 시 메서드가 유효한 결과를 생성할 수 없어 종료되어야 할 때 선호됩니다. 중단된 플래그(Thread.currentThread().interrupt())를 설정하면 스레드가 중단된 상태로 유지되어 중단을 호출자에게 알립니다.
적절한 방법 접근 방식은 상황에 따라 다릅니다.
void printSum(Server server) { try { int sum = computeSum(server); System.out.println("Sum: " + sum); } catch (InterruptedException e) { Thread.currentThread().interrupt(); // set interrupt flag System.out.println("Failed to compute sum"); } }
여기서 printSum 메서드는 중단되면 작업을 완료할 수 없으므로 InterruptedException을 포착하고 인터럽트 플래그를 설정합니다. 대체 메시지를 인쇄합니다.
위 내용은 Java에서 InterruptedException을 어떻게 처리해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!