Computer Science/Operating System

동시성 vs 병렬성

Prower 2018. 10. 25. 14:00
728x90
반응형

[동시성(Concurrency)]

싱글코어에서 멀티쓰레드를 동작시키는 방식

싱글코어가 여러개의 쓰레드를 번갈아 가면서 작업(멀티 프로그래밍)

논리적인 병렬성 구현

쓰레드가 병렬적으로 실행되는것 처럼 보임


[병렬성(Parallelism)]

멀티코어에서 멀티쓰레드를 동작시키는 방식

멀티코어가 여러개의 쓰레드를 동시에 작업(멀티 프로세싱)

물리적인 병렬성 구현

쓰레드가 실제로 병렬적으로 실행됨

데이터 병렬성

- 같은 작업을 병렬처리 하는 방식

- 전체 데이터를 서브 데이터로 나누어 서브 데이터들을 병렬처리

- 서브 데이터는 코어 수 만큼 나뉨

- Java 8에서 지원하는 병렬 스트림이 데이터 병렬성을 사용함


작업 병렬성

- 서로 다른작업을 병렬처리 하는 방식


[Parallelism vs Concurrency]


(출처 : https://www.raywenderlich.com/5370-grand-central-dispatch-tutorial-for-swift-4-part-1-2)


[참고 자료]

http://yolojeb.tistory.com/10

http://atin.tistory.com/567





728x90
반응형