-
[JS] 프로세스와 스레드공부 2021. 9. 24. 23:04
1. 프로그램
- 파일이 저장 장치에 저장되어 있지만 메모리에는 올라가 있지 않은 상태.
- 아직 실행되지 않은 코드 덩어리 파일.
2. 프로세스
- 운영체제로부터 자원을 할당 받은 작업의 단위.
- 프로그램을 실행한 게 프로세스.
- 각각 독립된 메모리 영역(code, data, stack, heap 구조)을 할당 받음.
- 기본적으로 프로세스당 최소 1개의 스레드를 가짐.
3. 스레드
- 프로세스보다 더 작은 실행 단위로, 프로세스 내에서 실행되는 여러 흐름 단위.
- 프로세스가 할당 받은 자원을 이용하는 실행 흐름 단위.
- 스레드는 프로세스 내에서 stack만 따로 할당 받고 code, data, heap 영역은 공유함.
- 자바스크립트는 싱글스레드로 비동기가 불가능하지만, 실행환경의 도움으로 비동기 처리 가능함.
참고 https://gmlwjd9405.github.io/2018/09/14/process-vs-thread.html
'공부' 카테고리의 다른 글
[React] CSR과 SSR (0) 2021.09.28 [JS] REST API (0) 2021.09.25 [JS] 비동기 - Callback, Promise, async/await (0) 2021.09.24 [JS] 자바스크립트에서 비동기가 가능한 이유 (0) 2021.09.23 [JS] Arrow function 과 function의 차이 (0) 2021.09.16