상세 컨텐츠

본문 제목

[운영체제] 멀티프로세싱과 멀티스레딩의 차이를 설명하고, 각각의 장단점을 말해주세요

CS/운영체제🐣

by :부셔져버린개발자 2025. 3. 20. 15:45

본문

멀티프로세싱은 독립적인 여러 프로세스를 생성하여 작업을 수행하는 방식으로 
각 프로세스는 메모리를 따로 가지고 있어 안정성이 높지만, IPC가 필요하고 Context Switching 비용이 큽니다
 
반면에, 멀티스레딩은 하나의 프로세스 내에서 여러 개의 스레드가 실행되는 방식입니다. 스레드들은 같은 메모리 공간 (Code, Data, Stack, Heap)을 공유하므로 Context Switching 비용이 적고 자원 활용이 효율적입니다. 하지만, 동기화 문제와 하나의 스레드 오류가 전체 프로세스를 종료시킬 위험이 있습니다.
 
Nginx 는 멀티프로세싱을 활용해 요청을 분배하며, Spring Boot 웹 애플리케이션은 멀티스레딩을 사용해 동시 요청을 처리합니다. 따라서, 높은 안정성이 필요한 경우 멀티 프로세싱을 빠른 응답과 효율적인 자원 활용이 중요한 경우 멀티스레딩을 선택하는 것이 일반적입니다. 

728x90

관련글 더보기