서론
백엔드 개발자라면 필수적으로 알아야 할 개념인 쓰레드
이전에 쓰레드와 프로세스의 차이에 대해 공부하면서 개념은 알고 있었으나 자세한 것은 몰랐는데 공부하면서 정리하였다.
쓰레드
서블릿 객체를 누가 호출하나? 쓰레드
애플리케이션 코드를 하나하나 순차적으로 실행하는 것은 쓰레드
자바 메인 메서드를 처음 실행하면 main
이라는 이름의 쓰레드가 실행
쓰레드가 없다면 자바 애플리케이션 실행 불가능
쓰레드는 한번에 하나의 코드 라인만 수행
동시 처리가 필요하면 쓰레드를 추가로 생성
쓰레드 풀
필요한 쓰레드를 쓰레드 풀에 보관하고 관리함
쓰레드 풀에 생성 가능한 쓰레드의 최대치를 관리함.
cf) 톰캣은 최대 200개 기본 설정(변경 가능)
쓰레드가 필요하면, 이미 생성되어 있는 쓰레드를 쓰레드 풀에서 꺼내서 사용함
사용을 종료하면 쓰레드 풀에 해당 쓰레드를 반납함