동시성 (Concurrency)
- 소프트웨어 적으로 동시에 실행되는 것처럼 보이게 하는것이다.
- 싱글 코어에서 멀티 스레드를 동작시키기 위한 방식
- 멀티 코어에서도 동시성은 사용 가능하다.
- 멀티 태스킹을 위해 여러 개의 스레드가 번갈아가면서 실행되는 방식
- 동시성을 이용한 싱글 코어의 멀티 태스킹은 각 스레드들이 병렬적으로 실행되는 것처럼 보이지만 사실은 번갈아 가면서 조금씩 실행되고 있다.
병렬성 (Parallelism)
- 물리적으로 같은 시간동안 작업이 동시에 실행되고 있는것
- 멀티코어에서 멀티 스레드를 동작시키는 방식
- 병렬성은 데이터 병렬성과 작업 병렬성으로 구분된다.
- 데이터 병렬성 : 전체 데이터를 나누어 서브데이터를 만든 뒤, 서브 데이터들을 병렬 처리하여 작업을 빠르게 수행하는것
- 작업 병렬성 : 서로 다른 작업을 병렬처리하는것
출처 : 동시성(Concurrency) vs 병렬성(Parallelism) Atin (tistory.com)
'개발 지식' 카테고리의 다른 글
REST API (0) | 2021.05.19 |
---|---|
웹 서버와 WAS 의 차이점 (0) | 2021.05.19 |
객체지향 SOLID 5계명 (0) | 2021.05.08 |
응집도와 결합도 (0) | 2021.05.06 |