스프링 어플리케이션은 WAS의 스레드풀에서 요청마다 스레드를 할당하여 로직을 수행하게 된다. 그런데 잘못 설계를 하면 스레드마다 같은 변수에 접근하여 값을 공유할 수도 있다. 이런 경우를 방지하기 위해 Java에서는 ThreadLocal이라는 것을 제공해서 스레드마다 자신의 저장 공간을 가질 수 있도록 해준다. ThreadLocal 미적용 아래는 요청을 처리하기 시작했을 때 1을 증가시키고, 끝날 때 다시 1을 감소시키는 간단한 로직이다. @Getter@Componentpublic class NumberManager { private int num; public void start() { ++num; } public void end() { --num; ..