동시성 Concurrency | 병렬성 Parallelism |
---|---|
하나의 processor가 여러가지 task를 동시에 수행하는 개념 (멀티 프로세서에서도 동시성 사용 가능) (코어 수에 따른 방식보다는 작업 방식에 대한 부분) | 여러 processor가 동시에 수행하는 것 |
동시에 실행되는 것처럼 보이는 것 | 실제로 동시에 여러 작업이 처리되는 것 |
한 번에 많은 것을 처리 | 한 번에 많은 일을 처리 |
논리적인 개념 | 물리적인 개념 |
멀티태스킹을 위해 여러개의 스레드가 번갈아가면서 실행되는 성질 | 한개 이상의 스레드를 포함하는 각 프로세스들이 동시에 실행되는 성질 |
동시성을 이용한 싱글프로세스의 멀티태스킹은 각 스레드들이 병렬적으로 실행되는 것처럼 보이지만 사실은 번갈아가면서 조금씩 실행되고 있는 것 | • 데이터 병렬성 • 작업 병렬성 |