본문 바로가기
프로그래밍 언어

멀티스레드 동시성(Concurrency)vs병렬성(Parallelism)

by do_ng 2019. 9. 6.

동시성 - 싱글코어에서 멀티스레드가 번갈아가며 실행하는 성질 

병렬성 - 멀티코어에서 각 개별 스레드가 동시에 여러 작업을 처리하는 것 

스레드 스케줄링 - 스레드의 개수가 코어수보다 많을 경우 어떤순서에 의해 스레드를 동시성으로 처리하는가를 결정 

이 그림을 보면 하나의 커피머신이 있는데 커피를 받기 위한 사람들의 줄이 2줄로 되어 있습니다. 그래서 서로 번갈아가면서 커피를 타게 되는 것이죠. 이러한 것을 동시성 처리라고 정의하고 있습니다. 반면에 병렬 처리의 경우는 2개의 커피 머신이 있고 각 커피 머신마다 하나의 줄을 가지고 있어서 각각의 줄마다 커피를 받을 수 있는 것을 병렬 처리라고 할 수 있습니다. 

'프로그래밍 언어' 카테고리의 다른 글

서버와 클라이언트  (0) 2019.09.07
스레드풀  (0) 2019.09.06
객체(Object)의 개념  (0) 2019.09.03
Wrapper 클래스 개념  (0) 2019.09.02
제네릭이란 무엇인가?  (0) 2019.09.02