스프링캠프 2017 Async & Spring
동기 비동기를 언급할 때는 항상 무엇과 무엇이 와 어떤 시간을? 관한 언급이 있어야 한다. 메소드 리턴시간 과 실제로 결과를 전달받는 시간이 다르면 비동기 라고 생각하면 된다. 블록킹 논블록킹 은 동기 비동기와 는 개념이 다르다. 내가 직접 제어할 수 없는 대상을 상대하는 방법 (IO, 멀티스레드 동기화) 이 경우에는 내가 비동기적으로 시킨 제 3의 스레드에서 결과를 다 만들어서 값을 리턴할떄까지 블록상태(대기)에 들어간다. @Async 메소드의 리턴타입은 void, Future , ListenableFuture , CompletableFuture 로 총 4가지다. 메소드호출에서 리턴되는 시점하고 실제 결과를 가져오는 시점이 다르다. spring 4.0에서 추가된 자바 인터페이스이다. 성공했을때와 실패해..