[CS] 멀티 쓰레드에 대한 나름의 이해

2023. 10. 10. 21:42CS

동시성과 병렬성
동시성은 하나의 cpu가 마치 동시에 여러 프로그램을 처리하는 것과 같은 특성이다
병렬성은 여러 개의 cpu가 동시에 작업을 처리하는 것을 의미한다 하드웨어적 특성이다

멀티쓰레드는 하나의 프로세스에서 여러 개의 쓰레드를 사용하는 것을 의미하고 장점은 코드 데이터 힙 영역을 공유하기 때문에 하나의 프로그램에서 여러 프로세스를 할 때 필요한 inter process connection(IPC)도 필요없고 많은 메모리 공간도 필요없어 자원을 효율적으로 이용한다 참고로 프로세스는 독립적인 메모리 공간을 가지고 있다 또한 콘텍스트 스위칭에 따른 오버헤드가 없다
하지만 멀티쓰레드의 단점은 데이터가 공유되기 때문에 동기화를 해서 쓰레드 간의 데이터의 일관성을 보장해야 한다

Reference


https://www.yes24.com/Product/Goods/121769526

기술 면접 대비 CS 전공 핵심요약집 - 예스24

1분 1초가 아쉬운 취업/이직 준비생을 위해기술 면접에 필요한 CS 전공의 핵심 내용만 간추렸다!비전공자는 물론 IT 전공자라도 광범위한 CS 전공 중에 어떤 내용이 출제될지 감을 잡기 어렵다. 서

www.yes24.com