작성
·
182
0
안녕하세요.
친절하게 잘 설명을 해주셔서 잘 듣고 있지만 약간의 궁금한 점이 생겨 문의 드립니다.
1. Controller쪽에서 Service를 호출하고 다시 provider를 통해 다시 MyLogger 를 get하였을때 저의 생각으로는 특별한 id 값이 필요할 것 같은데 그냥 request별로 구별하여 반환 되는 것이 잘 이해가 안됩니다. 동작 원리가 어떻게 될까요?
2. 예제에서 여러 request가 들어왔을 때 병렬적으로 처리하는 것을 볼 수 있는데 Controller,Service에 등록된 로직이 어떻게 병렬로 처리될 수 있는지 방법이 궁금합니다.
다른일로 바쁘실수도 있겠지만 알려주시면 감사드리겠습니다.
답변 1
3
안녕하세요. ahnkj93님
1. 자바 웹 서버는 고객의 HTTP 요청마다 별도의 쓰레드를 할당합니다. 자바에서는 ThreadLocal이라는 객체가 있는데, 이 객체를 내부에서 사용해서 쓰레드를 구분할 수 있습니다.(id 값 대신 쓰레드 id로 구분합니다.)
2. 1번에서 설명드린 것 처럼 HTTP 요청마다 별도의 쓰레드가 동작하기 때문에 자동으로 병렬 처리가 됩니다^^
도움이 되셨길 바래요.