본문 바로가기
Spring/spring mvc

3 동시요청 - 멀티 쓰레드

by 킹차니 2021. 6. 24.
김영한님의 인프런 강의와 PDF를 바탕으로 정리하였습니다.
https://www.inflearn.com/courses?s=%EA%B9%80%EC%98%81%ED%95%9C

 

동시요청 - 멀티 쓰레드

 

정답은 쓰레드!

 

쓰레드

• 애플리케이션 코드를 하나하나 순차적으로 실행하는 것은 쓰레드

• • 자바 메인 메서드를 처음 실행하면 main이라는 이름의 쓰레드가 실행 쓰레드가 없다면 자바 애플리케이션 실행이 불가능
• 쓰레드는 한번에 하나의 코드 라인만 수행
• 동시 처리가 필요하면 쓰레드를 추가로 생성

 

쓰레드를 하나만 사용 하는 예시를 그림으로 보겠습니다.

쓰레드 하나가 휴식인 상태.
요청이 들어와 휴식중이던 쓰레드 할당
쓰레드가 서블릭 객체 호출
쓰레가 호출을 마추고 다시 휴식

 

 

그런데 요청이 한 개가 아니라 다중으로 들어온다면??

하나의 쓰레드가 다중 요청1 처리
그런데 요청1에대한 처리가 지연되는 상황
이때 요청2가 들어온다면 요청2는 처리못하고 대기시킴
요청1, 요청2 모두 제대로 처리 불가하는 문제 발생

 

 

 

그렇다면 쓰레드를 요청할 때마다 생성한다면?

쓰레드를 지나치게 생성하여 메모리에 과부화가 우려됩니다.

 

 

 

 

 

해결방안 : 

결론: WAS는 쓰레드 풀을 이용한 멀티 쓰레드를 지원하므로, 멀티쓰레드를 사용하자!

 

 

'Spring > spring mvc' 카테고리의 다른 글

HttpServletRequest  (0) 2021.06.24
서블릿, 서블릿 만들기  (0) 2021.06.24
4 HTML, HTTP API, CSR, SSR  (0) 2021.06.24
2 서블릿  (0) 2021.06.24
1 웹서버, 웹 어플리케이션 서버  (0) 2021.06.24