본문 바로가기

CS/잡 지식6

스레드(1) - 멀티 프로세스(병렬처리) 스레드에 관한 이야기를 하기 전에 병렬 프로그램에 대해 생각을 해보자. 과거에는 나도 병렬 프로그래밍과 스레드로 프로그래밍 하는 것의 차이를 생각 못했었다. 이제 다른 것을 알게 되었으니 한번 정리하고자 하낟. 요약해서 간단하게 정리하면 병렬 프로그래밍이란 하나의 프로그램을 하나의 프로세스가 맡는 것이 아닌 n개의 멀티 프로세스를 이용하여 개발을 하는 것이다. 스레드는 최근 스레드 별로 프로세스를 할당하는 것으로 보이나 엄연히 하나의 프로세스에서 n개의 스레드를 실행하는 것과는 다른 이야기다. 멀티 스레드 같은 경우는 I/O같은 작업에서 압도적인 성능을 향상시켜주는데, 병렬처리는 CPU 관련 처리에서 성능을 향상 시켜 준다. Flynn’s Taxonomy on Parallel COmputer SISD 하.. 2022. 12. 26.
동시성 vs 병렬성 Node.js를 배우다보면 동시성이라는 말을 자주 듣게 된다. 그런데 가끔씩 동시성과 병렬성이라는 단어 자체를 비슷하게 사용하는 글들도 있는데, 엄연히 다른 것이므로 분리해서 봐보자 동시성(Concurrency) vs 병렬성(Parallelism) 간단하게 동시성은 논리적으로 동시에 작업하는 것이고, 병렬성은 물리적으로 동시에 실행되는 것이다 출처 https://seamless.tistory.com/42 자 그림을 봐보자 Concurrent같은 경우 Sequential과 다르게 왔다리 갔다리 하는 것을 확인 할 수 있다. 반면 Parallel은 두개가 각각 화살표가 진행되는 것을 확인 가능하다. 출처 https://seamless.tistory.com/42 이 그림을 봐보자. 싱글 코어의 멀티 스레드는 .. 2022. 12. 26.
728x90