CS/운영체제
-
[CS/Operating System] 프로세스와 스레드CS/운영체제 2024. 11. 22. 15:36
• 프로세스와 스레드의 차이? - 프로세스 : 메모리 상에서 실행 중인 프로그램 - 스레드 : 프로세스 안에서 실행되는 여러 흐름 단위 (기본적으로 프로세스마다 최소 1개의 스레드(메인 스레드)를 소유) 프로세스는 운영체제로부터 자원을 할당받지만, 스레드는 프로세스로부터 자원을 할당받고 프로세스의 코드/데이터/힙 영역을 공유하기 때문에 좀 더 효율적으로 통신할 수 있습니다. 또한 컨텍스트 스위칭도 캐시 메모리를 비우지 않아도 되는 스레드 쪽이 빠릅니다. 그리고 스레드는 자원 공유로 인해 문제가 발생 할 수 있으니 이를 염두에 둔 프로그래밍을 해야 합니다. (컨텍스트 스위칭 : 한 Task가 끝날 때까지 기다리는 것이 아니라 여러 작업을 번갈아가며 실행해서 동시에 처리될 수 있도록 하는 방법) ..