패스잇
CS 기초 · 기초

프로세스 내에서 '스레드(Thread)'는 어떤 역할을 하며, 멀티스레딩이 필요한 주된 이유를 설명해 주세요.

힌트 · 스레드는 프로세스 내의 실행 흐름 단위로, 자원을 공유하며 병렬성을 높여 시스템 효율을 개선하기 위해 사용됩니다.

동시성병렬성자원 공유문맥 교환응답성

모범답안

프로세스 내에서 스레드는 독립적인 실행 흐름의 단위입니다. 하나의 프로세스는 여러 개의 스레드를 가질 수 있으며, 각 스레드는 자신만의 실행 경로를 가지지만, 프로세스의 메모리 공간, 파일 핸들 등 자원을 공유합니다.

멀티스레딩이 필요한 주된 이유는 동시성병렬성을 높여 시스템 효율을 개선하기 위해서입니다. 예를 들어, 사용자 인터페이스를 제공하는 애플리케이션에서 한 스레드는 사용자 입력을 처리하고, 다른 스레드는 백그라운드에서 데이터를 다운로드하는 작업을 동시에 수행할 수 있습니다. 이를 통해 사용자 경험의 응답성을 크게 향상시킬 수 있습니다. 또한, 멀티코어 프로세서 환경에서는 여러 스레드가 동시에 실행되어 실제 병렬 처리를 통해 작업 완료 시간을 단축할 수 있습니다. 스레드 간의 자원 공유는 프로세스 생성보다 훨씬 적은 오버헤드를 가지므로, 더 효율적인 자원 활용이 가능합니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 운영체제 면접 질문

← 운영체제 면접 질문 전체 보기