본문 바로가기
기타

동시성(Concurrency)과 병렬성(Parallelism)

by 어쩌다개발 2023. 3. 5.
반응형

ConcurrentHashMap을 공부하다가 동시성이 정확히 무엇인지 찾아보게 됐다.

동시성을 찾으면 동시성 vs 병렬성이 검색된다.

Concurrency : [컴퓨터/통신] 동시 실행

Parallelism : 병행, 병렬

영어 단어를 찾아보면 위와 같이 나온다.

 동시성  하나의 코어에서 여러 스레드가 번갈아가며 실행(동시에 실행되는 것 같이 보이는 것) / 논리적인 개념
 병렬성  멀티 코어에서 여러 스레드를 동시에 실행(실제로 동시에 여러 작업이 처리되는 것) / 물리적인 개념

즉, 동시성은 동시에 실행되는 것처럼 보이지만 실제로는 CPU가 시간을 분할해 적절하게 context switching을 하는 것이다.

병렬성은 여러 작업을 다른 코어, 다른 프로세스 등에서 동시에 실행하는 것이다.

https://joearms.github.io/published/2013-04-05-concurrent-and-parallel-programming.html

Concurrent : Two queues and one coffee machine. (두 대기열 & 한 대의 커피 머신)

Parallel : Two queues and two coffee machines. ( 두 대기열 & 두 대의 커피 머신)

반응형

댓글