동시성 vs 병렬성

Lumi·2021년 11월 4일
0

이론적인 내용

목록 보기
12/13
post-thumbnail

사진을 보면 그닥 와닿지 않을 것이다.

  • 좀더 세세하게 다루어 보자.

병렬성

여러 작업을 동시에 수행하는 것이다.

  • 그러기 떄문에 반드시 멀티 코어에서만 사용이 가능하다.

싱글 코어의 한계를 느꼈기 때문에 멀티 코어가 등장하였고 그로인해 병렬성이 등장하게 되었다.

코어를 다중으로 사용하기 떄문에 성능이 배로 증가하게 되었지만

여러 작업을 동시에 수행하게 되니 동기화 문제가 발생할 수가 있다.

동시성

여러 작업을 수행하기는 하지만 빠르게 수행하여 여러 작업이 동시에 실행 되는 것처럼 보이는 방법이다.

  • 실제로는 한개씩만 동작을 한다.

즉 한가지 동작이 끝나면 시스템이 종료 되지 않고 바로 다음 동작으로 이어지는 방법으로 작동을 하게 됩니다.

이 또한 동기화 문제가 발생을 할 수 있습니다.

여러 작업이 공유된 한가지 자원에 접근하려 할떄

즉 A라는 작업은 자원을 +1하려고 하지만 B라는 자원은 -1하려고 한다면 서로 공유된 자원이 다르기 떄문에 동기화 문제가 발생을 하게 될 것이다.

출처 : https://spacebike.tistory.com/22

profile
[기술 블로그가 아닌 하루하루 기록용 블로그]

0개의 댓글