프로세스 (Process)
프로세스는 쉽게 말해 '실행 중인 프로그램' 입니다. 프로그램이 메모리에 로드되면 프로세스가 됩니다. 하나의 프로그램이 여러 프로세스가 될 수 있습니다.
스레드 (Thread)
프로세스 내에서 동시에 진행되는 작업의 단위를 말합니다. 스레드끼리 프로세스의 자원을 공유합니다.
하나의 프로그램은 하나 이상의 프로세스를 가지고 있고, 하나의 프로세스는 반드시 하나 이상의 스레드를 갖는다.
서블릿 컨테이너는 멀티스레드를 자동으로 지원하고 관리합니다.
여기서 멀티 스레드란 무엇일까?
멀티 스레드
메인 스레드 외, 추가적인 스레드를 이용하여 병렬적으로 작업을 처리하는 것입니다.
장점은 경제성이 있다. 프로세스 내 자원들과 메모리를 공유하기 때문에 메모리 공간과 시스템 자원 소모가 줄어든다.
스레드는 서블릿을 하나하나 호출하여 코드를 실행하게 해 준다.
이 스레드는 생성제한이 없어 동시에 많은 양의 요청이 오게 되면 서버의 임계점을 넘어 서버가 다운된다
이를 방지하고 쓰레드 생성 비용을 최대한 효율적으로 사용하기 위하여
미리 스레드를 생성해 놓는 쓰레드 풀을 사용한다.
이 쓰레드 풀을 활용하여 서버는 리소스를 효율적으로 운용하고
많은 요청이 오더라도 제한된 쓰레드를 운영하며 기존의 요청을 안전하게 처리한다
멀티 스레드는 WAS가 관리하기 때문에 개발자가 직접 코드를 짜서 관리할 일은 없다.
👩💻 완전히 정복하는 프로세스 vs 스레드 개념
한눈에 이해하는 프로세스 & 스레드 개념 전공 지식 없이 컴퓨터의 프로그램을 이용하는데는 문제 없어 왔지만 소프트웨어를 개발하는 사람으로서 컴퓨터 실행 내부 요소를 따져보게 될때, 아
inpa.tistory.com
https://maenco.tistory.com/entry/WEB-Multi-Thread-Thread-Pool%EC%9D%98-%EC%9D%B4%ED%95%B4
[WEB] Multi-Thread & Thread Pool의 이해
서블릿&서블릿 컨테이너의 글에서 WAS가 멀티스레드를 자동으로 지원 및 관리한다고 했는데 직접 이 멀테쓰레드의 코드를 짤 상황은 없겠지만 이 멀티쓰레드가 어떤 것인지 좀 더 자세하게 알아
maenco.tistory.com
'공부 etc.' 카테고리의 다른 글
클라우드 컴퓨팅 유형 (0) | 2024.02.29 |
---|---|
Socket 통신 정리, TCP/IP 정리 (0) | 2024.01.11 |
톰캣, 아파치, WAS에 관하여 (0) | 2024.01.11 |
[Linux] 리눅스 명령어 (0) | 2023.07.14 |
[Mybatis] <choose>, <when>, <otherwise> 그리고 <if> (0) | 2023.05.09 |