
동시성(Concurrency)과 병렬성(Parallelism)
·
CS
최근 락을 적용하여 동시성 문제를 해결하면서 동시성과 병렬성의 개념을 혼동하고 있어 각 개념을 정리해 보았습니다. 동시성(Concurrency) 동시성은 하나의 코어(싱글 코어)에서 여러 작업을 번갈아 가면서 처리하는 방식입니다.CPU는 한 번에 하나의 작업만 처리할 수 있기 때문에 여러 작업을 번갈아 가면서 처리하는데, 이를 context switching이라고 합니다.context switching이 빠르게 이루어져 물리적으로 동시에 실행되는 것이 아니어도 작업이 동시에 실행되는 것처럼 보이게 하는 것입니다. 따라서 여러 작업이 동시에 공유된 자원에 접근하는 경우 동기화 문제가 발생할 수 있습니다. 병렬성(Parallelism) 병렬성은 CPU가 여러 개(멀티 코어) 있어서 CPU에서 각 작업을 동시..