홍로그

프로세스와 스레드 차이 본문

iOS

프로세스와 스레드 차이

성홍민 2021. 1. 19. 22:47

프로세스

프로세스는 실행 중인 프로그램을 의미한다.

각 프로세스는 별도의 공간에서 실행되며 다른 프로세스의 자료구조에 접근할 수 없다.

 

멀티 프로세스

멀티 프로세스는 한 가지 작업을 여러 프로세스로 진행하는 것을 의미한다.

각 프로세스는 독립된 구조라 안정성이 높다는 장점이 있다.

하지만 각 프로세스마다 메모리가 할당되어 작업량이 많아 오버헤드가 발생하는 단점이 있다.

 

스레드

스레드는 한 프로세스 내에서 동작되는 여러 실행 흐름을 의미한다.

한 프로세스 내의 스레드들은 주소 공간이나 자원들을 공유하면서 실행한다.

 

멀티 스레드

멀티 스레드는 한 가지 작업을 여러 스레드로 진행하는 것을 의미한다. 

각 스레드는 메모리를 공유해 자원을 아낄 수 있고 통신이 빠르다는 장점이 있다.

하지만 자원을 공유함으로 인해 동기화 문제가 발생할 수 있다는 단점이 있다.

 

 

 

반응형