- 동시성 : 여러 개의 작업이 있을 때 Context Switching을 통해 여러 작업을 시분할 방식으로 처리하여 동시에 실행되는 것 처럼 보이는 것 (ex. 싱글 코어에서 여러 작업 수행)
- 병렬성 : 실제로 동시에 여러 작업이 처리되는 것 (ex. 멀티 코어)
동시성은 여러 일을 한꺼번에 다루는 데 관한 것이다.
병렬성은 여러 일을 한꺼번에 실행하는 데 관한 것이다.
- Rod Pike (Google Developer)
- 암달의 법칙 (Amdahl's Law) : 코어가 N배 늘어나더라도 성능이 N배로 늘어나지 않음. 그 이유는 프로그램의 모든 부분을 Parallel 하게 짤 수 없기 때문에 이런 현상이 발생
반응형
'개발에 도움이 되는 > CS' 카테고리의 다른 글
가비지 컬렉션(Garbage Collection) (0) | 2022.01.10 |
---|---|
컴퓨터를 켜면 일어나는 과정 (OS 부팅 과정) (0) | 2022.01.09 |
가상 메모리(Virtual Memory) (0) | 2022.01.09 |
뮤텍스(Mutex)와 세마포어(Semaphore)의 정의 (0) | 2021.12.16 |
경쟁상태(Race Condition), 교착상태(DeadLock), 기아상태(Starvation)의 정의 (0) | 2021.12.15 |