[Linux] 동시성 vs 병렬성(Parallelism) 정리

mommers·2026년 2월 5일

Linux

목록 보기
48/59

1. 동시성(Concurrency) vs 병렬성(Parallelism)

  • 동시성 : 여러 작업을 논리적으로 동시에 처리하는것 처럼 보이게 하는 것
  • 병렬성 : 여러 작업을 물리적으로 동시에 실행하는 것

2. 상세 비교

동시성 (Concurrency) - "가짜 동시"

  • 논리적으로 동시에 실행되는 것처럼 보이게 만드는 것.
  • 실제로는 CPU 코어 1개가 아주 빠른 속도로 작업 A와 작업 B를 번갈아 가며(Context Switching) 처리합니다.
  • 유휴 시간(I/O 대기 등)을 줄여서 효율성을 극대화하는 것.

비유하자면, 커피숍 직원 1명이 주문도 받고, 커피도 내리고, 청소도 하는 것. (손님 눈에는 다 동시에 하는 것처럼 보임).

병렬성 (Parallelism) - "진짜 동시"

  • 물리적으로 정확히 같은 시간에 여러 작업이 실행되는 것
  • 멀티 코어(Multi-core)가 필수입니다. 코어 1은 작업 A를, 코어 2는 작업 B를 잡고 달립니다.
  • 작업을 쪼개서 처리 속도를 높이는 것.

비유하자면, 커피숍 직원 2명이 있어서, 한 명은 주문만 받고 다른 한 명은 커피만 내리는 것.


3. 한눈에 보는 비교표

구분동시성 (Concurrency)병렬성 (Parallelism)
핵심구성 (Structure)실행 (Execution)
CPU 환경싱글 코어에서도 가능멀티 코어 필수
동작시분할 (Time-slicing), 인터리빙물리적 동시 실행
느낌동시에 하는 척 함진짜 동시에 함
목적자원 효율화, 응답성 향상대용량 데이터 빠른 처리

4. 관계 정리 (다이어그램)

소프트웨어 시스템에서 두 개념은 상호 배타적이지 않습니다.

  1. 동시성 O, 병렬성 X: 싱글 코어에서 멀티스레딩
  2. 동시성 O, 병렬성 O: 멀티 코어에서 멀티스레딩
  3. 동시성 X, 병렬성 O: 단순히 데이터를 쪼개서 GPU 등에서 연산만 수행할 때 (Bit-level Parallelism)
profile
임베디드 개발자가 되기 위해 공부중입니다!

0개의 댓글