브라우저 동작 원리나 웹 성능 최적화, Node.js의 동작 방식 등을 이해하려면 이 두 개념을 아는 게 중요하다.
프로세스란?
- 실행 중인 프로그램 하나를 프로세스라고 부른다.
- 프로그램을 실행하면, 운영체제(OS)가 그 프로그램을 위해 독립된 메모리 공간을 만들어준다.
- 그 공간이 바로 프로세스이다.
- 예시 :
- 크롬을 열면 하나의 프로세스가 생기고 탭을 하나 더 열면 탭마다 별도의 프로세스가 생긴다.
- 탭 하나가 멈춰도 다른 탭은 잘 작동하는 이유가 바로 이 구조 덕분이다.

스레드란?
- 프로세스 안에서 실제 작업을 수행하는 실행 단위다.
- 하나의 프로세스는 여러 개의 스레드를 가질 수 있다. (멀티스레드)
- 스레드들은 같은 프로세스 내 메모리를 공유하면서 각자 다른 일을 병렬로 처리할 수 있다.
- 예시 :
- 하나의 브라우저 탭(프로세스) 안에서 화면 렌더링, 사용자 입력 감지, 네트워크 통신 등이 각각 다른 스레드에서 동시에 처리된다.
차이점 정리
| 항목 | 프로세스 | 스레드 |
| 정의 | 실행 중인 프로그램 | 작업을 수행하는 실행 단위 |
| 메모리 | 독립된 메모리 공간 | 같은 메모리를 공유함 |
| 영향 | 하나 죽어도 다른 프로세스는 영향 없음 | 하나 문제 생기면 같은 프로세스 안 스레드도 영향 |
| 생성 비용 | 상대적으로 무거움 | 상대적으로 가벼움 |
| 예시 | 크롬 탭 하나 | 탭 안에서 렌더링, 이벤트 처리, 네트워크 처리 등 |
프론트 기준 알아야 하는 이유❓
- 브라우저는 탭마다 프로세스를 분리해서 안정성을 높이고
- 각 탭 안에서는 여러 스레드로 나눠서 사용자 입력, 렌더링, 자바스크립트 등을 동시에 처리한다.
- Node.js도 내부적으로 스레드 풀을 사용해 논블로킹 I/O를 처리한다.
- 웹 워커는 스레드처럼 동작해서, 메인 스레드와 별도로 무거운 작업을 처리할 수 있다.
'CS 공부' 카테고리의 다른 글
| CORS 란 ? (0) | 2025.06.09 |
|---|---|
| HTTP 헤더 종류 (0) | 2025.06.04 |
| TCP와 UDP 개념 및 차이점 , 예시 (0) | 2025.06.02 |
| DNS, IP, 포트, TCP, 3-Way Handshake까지 네트워크 흐름 정리 (1) | 2025.05.29 |
| 쿠키와 세션의 차이 (0) | 2025.05.27 |