본문 바로가기

CS3

멀티 프로세스/멀티 스레드, 동시성/병렬성 이제 멀티 프로세스와 멀티 스레드에 대해서 알아보자.이 개념을 이해하기전에 알아야하는 것은 동시성과 병렬성이다. 동시성과 병렬성동시성(concurrency)병렬성(parallelisim)단일 코어에서 여러개의 작업이 동시에 실행되고 있는것 처럼 번갈아가면서 작업실제 여러개의 코어에서 물리적으로 동시에 작업논리적인 개념으로 한번에 많은 것을 처리한다.물리적인 개념으로 한번에 많은 일을 처리한다. 동시성은 여러개의 작업이 동시에 실행되는것 '처럼' 된다는것이 병렬성과의 차이점 이다.아래 그림을 통해 이해해 보자. 커피를 받기위해 여러사람이 대기하고 있다.   동시성의 경우, 커피 머신 한 대가 두 줄의 손님을 번갈아 가며 커피를 만드는 상황으로 이해할 수 있다. 실제로 커피머신이 처리 가능한 손님은 한명이지.. 2024. 8. 5.
프로세스, 스레드 (심화/면접 편) 최근에 다시 면접을 보고 있다. 그런데 생각보다 많은곳에서 프로세스와, 스레드에 대한 기술질문이 많다는 것을 인지하게되어 프로그램, 프로세스, 스레드 (개념편)최근과 같은 비동기의 시대에 프로세스, 스레드, 프로그램이 동작 방식에 대한 부분은 기술면접에서 자주 등장한다. 이번 글에서는 프로그램, 프로세스, 스레드에 대한 개념적인 부분을 알아보michael-cho.tistory.com 위에서 했던 것보다 조금더 자세하게 프로세스와 스레드에 대해서 작성해보려고 한다.당장 면접을 봐야하는 상황이라면 가장 하단의 프로세스/스레드 요약본을 참고하길 바란다  왜 면접에서 많이 질문하는 것일까?  라는 측면에서 생각해봤을때, 위에서 작성한 내용 이상의 지식이 필요했다. 관련하여 가장 많이 받은 질문은 다음과 같았다... 2024. 7. 31.
프로그램, 프로세스, 스레드 (개념편) 최근과 같은 비동기의 시대에 프로세스, 스레드, 프로그램이 동작 방식에 대한 부분은 기술면접에서 자주 등장한다. 이번 글에서는 프로그램, 프로세스, 스레드에 대한 개념적인 부분을 알아보려고 한다. 프로그램, 프로세스, 스레드의 사전적 의미프로세스의 사전적 개념을 먼저 알아보자 프로그램은 컴퓨터에서 실행될 때 특정 작업(specific task)을 수행하는 일련의 명령어들의 모음(집합)이다프로세스(process)는 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말한다. 종종 스케줄링의 대상이 되는 작업(task)이라는 용어와 거의 같은 의미로 쓰인다. 스레드(thread)는 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다 음... 어렵다. 단순한 사전적의미로 이해하기엔,.. 2024. 3. 30.