
[운영체제] 멀티스레드의 동시성(Concurrency)과 병렬성(Parallelism)
·
study/CS⚡
하나의 프로세스에서 다수의 스레드들이 실행되는 것을 멀티스레딩이라고 한다. 하나의 프로세스 안에서 스레드끼리 code, data, heap 영역을 공유하고 각각의 stack, PC, 레지스터를 가지기 때문에 자원을 공유하기 좋아 멀티프로세스보다 이점이 있다. 동시성(Concurrency) 싱글 코어에, 멀티코어에서 멀티 스레딩을 구현하는 방식이다. 이름이 동시성이지만 진짜로 동시에 실행된다는 의미는 아니고 여러 작업이 동시에 실행되는 것처럼 보이는 것을 말한다. 한 타임에 하나의 스레드만 실행되고 짧은 시간 동안 스레드를 적절히 바꿔가면서 실행되는 것이다. 위 사진을 보면 4개의 thread가 하나의 core를 나눠서 쓰고 있다. 병렬성(Parallelism) 멀티 코어에서 멀티 스레딩을 구현하는 방식을..