반응형
동시성(Cuncurrency)
- 논리적 개념
- at the same time (X)
- 동시성이란 스위칭으로 한 번에 여러 작업을 동시에 다루는 것을 의미
→ 싱글 프로세스, 싱글 스레드가 스위칭을 하면서 여러 작업을 수행
→ 멀티스레드도 스위칭하며 작업 가능 - 비유) 하나의 로봇이 왔다 갔다 하며 작업을 수행 (바운드될 때마다 스위칭)
병렬성(Parallelism)
- 물리적 개념
- at the same time (O)
- 병렬성은 한 번에 여러 작업을 병렬적으로 처리하는 것을 의미
→ 멀티 프로세스, 멀티 스레드를 통해 동시에 여러 작업을 수행
→ 싱글 스레드는 불가능 - 비유) 여러 로봇이 동시에 각자 맡은 작업을 수행
유의할 점
- 동시성과 병렬성은 함께 공존할 수 있다. 예를 들어 병렬적으로 작업을 수행하면서 그 하위에 동시성으로 스위칭하며 작업을 수행할 수 있음
- 파이썬은 GIL(글로벌 인터프리터 락)으로 인해 멀티 스레드라도 병렬 작업을 수행할 수 없음. 때문에 파이썬에서는 멀티 스레드 또한 동시성으로 수행하게 됨
반응형
'나는 이렇게 학습한다 > CS' 카테고리의 다른 글
TCP와 UDP 비교 (0) | 2022.03.20 |
---|---|
메모리 단편화를 해결하는 세 가지 방법 (0) | 2022.02.09 |
컴퓨터 구조와 운영체제 기본 (2) | 2022.01.16 |
동기 vs 비동기 (0) | 2022.01.15 |
CPU 바운드와 I/O 바운드 (0) | 2022.01.15 |