패스잇
CS 기초 · 기초

동시성(Concurrency)과 병렬성(Parallelism)의 개념을 정의하고, 두 개념의 주요 차이점을 설명해 주세요.

힌트 · 동시성은 여러 작업을 동시에 처리하는 것처럼 보이는 것이고, 병렬성은 여러 작업을 실제로 동시에 처리하는 것입니다. CPU 코어 수와 관련하여 차이를 설명할 수 있습니다.

동시성병렬성자원 공유실행 단위CPU 코어

모범답안

면접관님, 동시성과 병렬성은 둘 다 여러 작업을 동시에 처리하는 방식이지만, 핵심적인 차이가 있습니다.

동시성은 하나의 CPU 코어에서 여러 작업을 번갈아 가며 실행하여 마치 동시에 처리되는 것처럼 보이게 하는 것입니다. 예를 들어, 웹 브라우저에서 여러 탭을 열어놓고 사용하는 경우가 동시성의 예시입니다. 각 탭은 짧은 시간 동안 CPU를 점유하며 번갈아 실행되죠.

반면, 병렬성은 여러 개의 CPU 코어를 사용하여 여러 작업을 실제로 동시에 처리하는 것입니다. 예를 들어, 이미지 편집 프로그램에서 여러 필터를 동시에 적용하는 경우가 병렬성의 예시입니다. 각 필터는 서로 다른 CPU 코어에서 동시에 실행되므로 작업 시간이 단축됩니다.

따라서, 동시성은 자원(CPU)을 공유하여 시간을 분할하는 방식이고, 병렬성은 자원을 복제하여 실제로 동시에 작업을 처리하는 방식이라고 할 수 있습니다. 병렬성은 여러 개의 CPU 코어가 필요하지만, 동시성은 단일 코어에서도 구현될 수 있습니다.

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

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

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

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