개발/알아둘 기본 개념
프로세스와 쓰레드 개념 및 차이점
후누피
2023. 9. 22. 13:41
728x90
프로세스와 쓰레드에 대해 알아보던 중 사전적 의미만 봐서는 이해가 잘 되지않았다.
그래서, 구글링과 유튜브를 찾던 중 얄팍한코딩님의 유튜브영상을 통해 이해할 수 있었다.
이해한 것이 정확히 맞는지 모르겠지만 일단 정리해둬야겠어 블로그를 작성했다.
만약, 틀린부분이 있다면 댓글을 달아주시면 감사하겠습니다.
프로세스(Process)란?
- 메모리상에서 실행중인 프로그램을 말하며,
프로세스는 최소 하나의 스레드를 보유하고 있고, 별도의 주소공간을 독립적으로 할당 받는다.
스레드(thread)란?
스레드는 프로세스 안에서 실행되는 흐름의 단위를 말한다.
프로세스와 스레드의 차이점.
프로세스는 자원을 공유하지않고, 쓰레드는 자원을 공유한다.
사전적의미를 백번 보는것보다 내 경우는 그림을 통해 이해하는게 빨랐다.
이렇게 두개의 프로세스가 실행되고있다면
프로세스간에 자원은 공유할수없다.
햄버거 프로세스의 자원을 공유된다해도 도움이되지않고, 오히려 방해가될것이다.
그리고 스레드끼리는 자원공유가 되야 햄버거를 완성할수있다.
다른 예를 들자면,
브라우저에서 영상을 시청한다고 할때
영상을 다운로드 받으면서 재생이 가능하게 해줘야하기때문에
쓰레드를 1개이상 가질수있게하여 한번에 여러작업을 할 수 있게 도와준다.
728x90