TCP IP
멀티 프로세스 vs 멀티 쓰레드
joo_coding
2025. 4. 15. 23:04
🧑🤝🧑 멀티프로세스(Multi-Process)
멀티프로세스는 여러 명의 일꾼(프로세스)이 각각 따로따로 일하는 거야.
예시:
- 너는 라면을 끓이고
- 너 친구는 계란을 삶고
- 또 다른 친구는 김치를 자르고 있어
각자 따로 움직이고, 서로 간섭하지 않아.
하지만 같이 협력하려면 대화(데이터 공유)가 필요해, 그게 좀 복잡할 수 있어.
정리:
- 일꾼(프로세스)이 여러 명
- 각자 자기 방에서 일해 (메모리를 따로 씀)
- 서로 대화하려면 문을 열고 "야~" 하고 말해야 해 (복잡)
- 충돌은 잘 안 나 (서로 방이 다르니까)
🧵 멀티쓰레드(Multi-Thread)
멀티쓰레드는 한 명이 여러 팔을 써서 동시에 여러 일을 하는 거야.
예시:
- 사람 한명이 혼자 일하지만
- 오른손으로 라면을 끓이고
- 왼손으로 계란을 삶고
- 발로 김치를 자르고 있어
한 사람이지만 여러 팔(쓰레드)을 써서 동시에 일하는 거야.
이 사람은 한 방에서 일해서(같은 메모리), 서로 금방 도와줄 수 있어.
하지만 한 손이 실수하면 다른 손도 같이 망칠 수 있어!
정리:
- 일꾼은 한 명이지만, 팔(쓰레드)을 여러 개 씀
- 같은 방에서 일해 (메모리 공유함)
- 서로 대화가 쉬워 (같은 머리 쓰니까)
- 하지만 한 팔이 실수하면 다른 팔도 영향 받을 수 있음 (충돌 조심!)
[멀티프로세스]
🧑 🧑 🧑
[방1][방2][방3] <-- 각자 따로 방에서 일
[멀티쓰레드]
🧍♂️
[방 하나]
🖐️✋🦶 <-- 한 사람(프로세스)이 여러 팔(쓰레드)로 동시에 일