[Deep Dive] 쓰레드와 병렬 프로그래밍 - 1탄 개념 이해
정글 8주차에 웹서버를 구현하다 보니 쓰레드를 사용해서 병렬 처리를 해야 했다. 그래서 당장 구현을 할 수준으로만 이해를 한 뒤 구현을 끝낸 지금 다시 쓰레드에 대해 깊게 이해를 하려고 한다. 그래서 이번 Deep Dive에서는 프로세스가 아닌 쓰레드를 주로 다룰 생각이다.1. 프로세스 vs 쓰레드 차이프로세스(Process)정의: 실행 중인 프로그램. 운영체제로부터 독립된 주소 공간, 자원(File descriptor, Stack, Heap 등)을 부여받음.특징:각각의 프로세스는 커널에서 독립적으로 관리됨 (PID, 메모리 맵 등).프로세스 간 데이터 공유가 어렵다 (보통 IPC, Shared Memory, Pipe 등 필요).생성/문맥전환 비용이 큼 (Context switch: PCB 저장/복원 포..