정확히는 아래 네 메서드의 차이를 알고 싶습니다.
API 문서를 읽어봐도 정확히 이해하기 어렵네요.
sync : 완료 될 때까지이 미래를 기다리고,이 미래가 실패하면 실패의 원인을 다시 던집니다.
syncUninterruptibly : 완료 될 때까지이 미래를 기다리고,이 미래가 실패하면 실패의 원인을 다시 던집니다.
await : 이 미래가 끝나기를 기다립니다.
awaitUninterruptibly : 이 미래가 중단없이 완료 될 때까지 기다립니다. 이 메소드는 InterruptedException을 캐치 해, 자동적으로 파기합니다.
text 만으로 보면 sync 와 await 의 차이는 실패의 원인을 다시 던지느냐 아니냐의 차이로 보이고
Uninterruptibly 는 InterruptedException 을 캐치 해, 자동적으로 파기하는 정도로 이해됩니다.
실패 원인을 다시 throw 하는 것이 어떤 의미를 가질까요 ?
Uninterruptibly 는 Exception 을 처리하지 않고 무시한다는 의미로 이해하면 맞을까요 ?