- 프로세스와 스레드의 차이에 대해 설명해 주세요
- 프로세스(Process)와 스레드(Thread)는 컴퓨터 시스템에서 동시에 실행될 수 있는 작업 단위를 나타내는 용어입니다.
프로세스는 운영체제로부터 자원을 할당 받은 독립적인 실행 단위입니다. 각 프로세스는 자신만의 메모리 공간을 갖고, 실행 중에는 다른 프로세스와는 완전히 분리된 상태입니다. 프로세스는 독립적으로 실행되기 때문에 서로 간섭하지 않고, 각각이 독립적인 작업을 수행할 수 있습니다.
스레드는 프로세스 내에서 실행되는 실행 단위입니다. 한 프로세스 내에서 여러 개의 스레드를 만들 수 있으며, 이 스레드들은 프로세스 내부의 자원(메모리, 파일 등)을 공유합니다. 스레드는 각각이 별도의 스택(Stack)을 갖고 있지만, 코드, 데이터 섹션, 열린 파일 등은 프로세스 내에서 공유됩니다. 스레드는 각각이 별도의 작업을 수행하지만, 프로세스 내에서 다른 스레드와 협력하여 동시에 실행될 수 있습니다.
따라서, 프로세스와 스레드의 차이점은 주로 자원의 관리 방식입니다. 프로세스는 독립적으로 자원을 할당 받고 실행되며, 스레드는 프로세스 내에서 공유 자원을 사용하여 동시에 실행됩니다. 이를 통해 스레드는 프로세스보다 더 경제적으로 자원을 사용하고, 작업을 더 빠르게 처리할 수 있습니다. - https://github.com/zeroempty2/TIL/blob/main/OS/Process%20vs%20Thread.md
GitHub - zeroempty2/TIL
Contribute to zeroempty2/TIL development by creating an account on GitHub.
github.com
'기술면접 대비' 카테고리의 다른 글
POJO란? (0) | 2023.04.02 |
---|---|
TCP와 UDP (0) | 2023.04.01 |
MSA(Microservice Architecture)란? (0) | 2023.03.30 |
List, Set, Map, HashMap의 차이, Parameter와 Argument의 차이 (0) | 2023.03.30 |
DI(Dependency Injection),DB 인덱스 (0) | 2023.03.28 |