분류 전체보기82 스레드(2) - 스레드 with Java 본격적으로 스레드에 대해 배워보자 프로세스 실행중인 프로그램 자신의 주소 공간에서 순차적으로 실행되는 스트림 이렇게 정의 내릴 수가 있다. 스레드 프로그램 내의 단일 순차적 제어 흐름 OS 측면에선 각 스레드들은 밑에 내용들로 구성되어 있다. PC (program counter) Register Set Stack 스레드들이 서로 공유하는 것이 있는데 코드 영역 데이터 영역 OS resources ex) open files 싱글 스레드 프로세스 자 보면 스레드 하나가 있고, 위에서 설명한 대로 register, stack, pc(는 안보인다 지금은), code, data, files가 있는 것을 확인 가능하다. 멀티 스레드 프로세스 확실히 차이가 나는 것을 확인이 가능하다. 각 스레드마다 regiset, .. 2022. 12. 26. 스레드(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. Node.js 동작 원리 Node.js 배경 원래 JS는 브라우저 위에서만 작동이 가능했다. 이게 싫어서 브라우저 말고도 다른 환경에서도 돌려보고자 노력을 하였지만 JS의 실행속도 때문에 사실상 불가능 했다고 한다. 그러나 구글이 V8엔진을 사용하면서 크롬을 공개하자, 180도 달라지기 시작하였다. 오픈소스에 엄청난 속도를 보여주는 V8엔진이 나오자마자 이 V8엔진을 기반으로하는 노드 프로젝트를 시작했다! 그래서 Node.js는 JS기반으로 만들어졌다. JavaScript이름으로 유추하다 싶이 스크립트 언어이기에, 즉 특정한 프로그램 내에서 동작하는 프로그램이어서 Node나 브라우저 같은 프로그램이 필요로 하다. 그래서 저번 글에서 브라우저 기반을 설명을 드렸고, Node 기반을 이번에 설명할 것이다 Node는 자체에 내장된 웹.. 2022. 12. 26. 이전 1 ··· 17 18 19 20 21 다음 728x90