2. Process 와 Thread

1. 프로세스(Process)

프로세스(Process)는 운영체제로부터 자원을 할당받아 실행 중인 프로그램의 인스턴스를 의미합니다. 각각의 프로세스는 독립적으로 실행되며, 메모리와 파일 핸들 등의 시스템 자원을 갖습니다. 프로세스는 실행 중인 프로그램의 코드, 데이터, 스택, 힙 등을 포함한 모든 정보를 가지고 있습니다. 각 프로세스는 개별적인 주소 공간을 할당받으며, 한 프로세스의 오류가 다른 프로세스에 영향을 주지 않습니다.

2. 스레드(Thread)

스레드(Thread)는 프로세스 내에서 실행되는 작업의 단위입니다. 하나의 프로세스는 여러 개의 스레드를 가질 수 있으며, 각각의 스레드는 동시에 실행될 수 있습니다. 스레드는 프로세스의 자원을 공유하며, 주소 공간이나 파일 핸들 등의 자원을 별도로 할당받지 않고, 프로세스 내에서 생성되고 제거됩니다. 스레드는 프로세스의 코드, 데이터, 힙 등을 공유하면서 동시에 실행되는 작업을 수행합니다. 그러나 스레드는 프로세스 내부에서도 각각 별개의 스택을 가지고 있어 독립적인 실행 경로를 갖습니다. 따라서 한 스레드의 오류가 같은 프로세스 내의 다른 스레드에 영향을 줄 수 있습니다.

Last updated