API의 레이턴시를 측정하다가,비동기를 적용해 성능을 높일 수 있겠다는 생각이 들었다. 그런데 이전에 멀티쓰레드를 적용했다가 오히려 쓰레드간 경합 때문인지 속도가 더 느려진 경험이 있었다. 따라서 이번에는 java에서 비동기를 사용할 수 있는 방법을 공부해보고자 한다
이전 게시글에서 설명한 CompletableFuture와 조합해서 Spring에서 간단히 비동기를 구현 할 수 있도록 @Async 어노테이션이 제시되고 있다. @Async는 어떻게 동작하는지 알아보고자 한다.
이전 게시글에서 Spring의 @Async를 공부하면서, ThreadLocal이 무엇인지 제대로 이해하지 못한 것 같아 따로 정리를 해보았다.