코드코코

자바스크립트 런타임 본문

기록/javascript

자바스크립트 런타임

코드코코 2021. 9. 10. 15:47

@자바스크립트 런타임 : 자바스크립트가 구동되는 환경.

 

-자바스크립트 : 싱글 스레드, 논블로킹 언어.

-런타임 :  프로그래밍 언어가 구동되는 환경을 의미.

 

 

@싱글스레드

-thread :  프로세스가 할당받은 자원을 이용하는 실행의 단위. 실제로 작업을 수행하는 주체. 한번에 하나의 작업만 순차적으로 실행.

 

-heap : 최댓값이나 최솟값을 찾아내는 연산을 빠르게 하기 위해 고안된 완전이진트리를 기본으로 한 자료구조로 실행전에 동적으로 할당되는 메모리 영역

-call stack : 함수의 호출을 저장하는 자료구조

 

@논블로킹

- 블로킹 : 콜스택이 멈춘 상태. 

 

@자바스크립트를 싱글슬레드 언어라고 부르는 이유

- 자바스크립트의 메인스레드이 이벤트루프가 싱글스레드여서 싱글스레드라고 하지만, 자바스크립트 런타임을 싱글쓰레드가 아니므로 비동기 작업이 가능하다.

 

1. 자바스크립트 엔진에는 하나의 메모리 힙과 콜스택이 존재

 

2. web API : 백그라운드에서 비동기적으로 작업을 처리. 작업이 끝나면 자바스크립트 엔진(콜스택)에게 해당 작업이 끝났음을 알려주어 계속해서 작업을 수행할수 있게 한다.

 

3.callback queue : webAPI에서 수행한 작업의 결과값을 쌓는 공간.

 

4. event Loop: 주기적으로 콜스택과 콜백큐를 확인하면서. 콜스택이 비어있으면 콜백 큐에 있는 작업들을 이동시키는 역할을 수행.

 

 

 

'기록 > javascript' 카테고리의 다른 글

[자바스크립트] 변수와 var, let, const  (0) 2021.12.28
210831 stack 과 queue  (0) 2021.08.31
210825 자바스크립트 수강내용  (0) 2021.08.25