패스잇
CS 기초 · 기초

멀티스레딩(Multithreading)이란 무엇이며, 멀티스레딩을 사용할 때 얻을 수 있는 장점과 발생할 수 있는 단점은 무엇인지 설명해 주세요.

힌트 · 멀티스레딩은 CPU 활용률을 높여 성능 향상을 가져올 수 있지만, 동기화 문제와 디버깅의 어려움을 유발할 수 있습니다.

병렬성동시성자원 공유컨텍스트 스위칭교착 상태

모범답안

멀티스레딩은 하나의 프로세스 내에서 여러 개의 스레드를 동시에 실행하는 방식입니다. 이를 통해 CPU 활용률을 높여 전체적인 프로그램 성능을 향상시킬 수 있습니다. 예를 들어, 하나의 스레드가 I/O 작업을 기다리는 동안 다른 스레드가 계산 작업을 수행할 수 있습니다.

장점으로는 응답성 향상과 자원 효율성 증가가 있습니다. 하지만 단점도 존재합니다. 여러 스레드가 공유 자원에 동시에 접근할 때 발생하는 동기화 문제가 대표적입니다. 또한, 스레드 간의 컨텍스트 스위칭으로 인한 오버헤드가 발생할 수 있고, 교착 상태와 같은 문제로 인해 디버깅이 어려워질 수 있습니다. 따라서 멀티스레딩을 사용할 때는 이러한 잠재적인 문제점을 고려하여 신중하게 설계해야 합니다.

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

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

함께 보는 동시성 / 멀티스레딩 면접 질문

← 동시성 / 멀티스레딩 면접 질문 전체 보기