동시성 (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

+ Recent posts