서론

ThreadPool은 **응답 시간, 처리 속도, TPS에 영향**을 미친다.

추가로 **병목 현상, CPU 오버헤드, 메모리 부족 등의 문제를 방지**해서 **안정적인 어플리케이션의 운용**이 가능함


Java - Threading Model

자바에서는 One To One Threading Model로 Thread를 생성

Untitled

One To One Threading Model은 User Thread(Process의 쓰레드) 1개는 OS Thread 1개와 연결해야함

이때 작업 요청이 들어올 때마다 쓰레드를 생성하는 비용이 추가적으로 들어가니 비효율적이다.

그래서 Thread Pool을 사용한다.


Thread Pool

Untitled

내장 Tomcat에 Thread Pool을 만들고 Request가 들어오면 **해당 Thread가 해당 요청을 담당해서 처리**한다.

쓰레드는 Connection Pool에서 유휴 상태인 DB Connection이 존재하면 사용하고 없으면 생성한다.

그리고 DB Connection을 이용해서 DB에 쿼리를 날린 뒤 사용자에게 결과를 반환하게 된다.