Multi Process (다중 프로세스) vs Multi Thread (다중 스레드)

다중 프로세스 vs 다중 스레드

Posted by Seohyun Park, Aileen on January 19, 2024 · 1 min read
OS, PROCESS, THREAD

다중 프로세스 (Multi Process)

여러 개의 프로세스가 동시에 실행되는 것처럼 보이는 것을 다중 프로세스라고 한다.

각 프로세스는 독립된 메모리 공간을 가지며, 서로에게 접근하려면 IPC 기법을 사용해야 한다.

각 프로세스는 각각 고유한 자원을 관리하고 있어 서로에게 영향을 미치지 않는다.

하나의 프로세스 작업을 여러개로 분할(쪼개서) 병렬로 처리할 수 있다. 이때, 프로세스는 스레드 단위로 작업을 분할한다.


다중 스레드 (Multi Thread)

하나의 프로세스 내에서 여러 개의 스레드가 동시에 실행되는 것처럼 보이는 것을 다중 스레드라고 한다.

스레드끼리는 서로의 메모리 공간(thread stack)을 공유하고 접근할 수 있다.

IPC 통신이 아닌 메모리 기반 통신을 사용하기에 통신 속도가 빠르다.

각 스레드들은 여러 자원을 공유하기에, 하나의 스레드에 문제가 생기면 나머지 스레드들도 영향을 받을 수 있다.

프로세스 내에서 스레드의 작업을 여러개로 분할(쪼개서) 병렬로 처리할 수 있다.