1. 프로세스(Process)


운영체제에서 실행 중인 하나의 애플리케이션을 프로세스라고 부름,

사용자가 애플리케이션을 실행하면, 운영체제로부터 실행에 필요한 메모리를 할당 받아 애플리케이션의 코드를 실행, 이때 실행되는 애플리케이션을 프로세스라고 부름

ex) Chrome 브라우저를 두 개 실행하면, 두 개의 프로세스가 생성 이렇게 하나의 애플리케이션이 여러 프로세스(다중 프로세스)를 만들기도 한다.

mac) cmd + space ⇒ 활성 상태 보기 ⇒ 프로세스를 볼 수 있다.

2. 스레드(Thread)


스레드는 사전적 의미로 한 가닥 실이라는 뜻, 한가지 작업을 실행하기 위해 순차적으로 실행한 코드를 실처럼 이어놓았다 해서 유래된 이름

3. 멀티 스레드(Multi-Thread)


멀티 태스킹은 두 가지 이상의 작업을 동시에 처리하는 것을 의미, 운영체제는 멀티 태스킹을 할 수 있도록, 프로세스마다 CPU 및 메모리 자원을 적절히 할당하고 병렬로 실행, 하지만 멀티 태스킹이 꼭 멀티 프로세스를 의미하지 않는다. 하나의 프로세스 내에서 멀티 태스킹을 할 수 있도록 만들어진 애플리케이션도 있다. (멀티 스레드)

멀티 프로세스 : 애플리케이션 단위의 멀티태스킹

멀티 스레드 : 애플리케이션 내부에서의 멀티 태스킹