병렬 (Parallel) vs 병행 (Concurrent)

  • 순차 처리 (Sequential)
복수의 업무를 순차적으로 처리한다.
  • 병렬 처리 (Parallel)
복수의 업무를 동시에 처리 한다.
  • 병행 처리 (Concurrent)
하나의 작업을 작은 단위로 분할하여 처리한다.
싱글코어CPU 에서는 순차로 처리되며,
멀티코어CPU 에서는 각 CPU 끼리 병렬로 처리되며, CPU에 할당된 작업들끼리 순차처리된다.

프로세스의 스레드의 수를 높인다고 업무처리량이 2배가 되는것은 아니다
오히려 문맥교환의 비용이 더 발생하겠다.

하드웨어 제약이 없다고 가정하여 여러 스레드가 병렬처리되어도
스레드간 mutual exclusion(Mutex, 상호배제, 공유자원에 대한 임계구역 배제)를 수행하기 위해 오버헤드가 발생한다.

참고 : http://so-blog.net/2015/01/03/concurrent/

Written by

엘디는 사랑입니다.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store