반응형
주제 : 자바스크립트 엔진에 대하여
- 자바 스크립트 엔진은 Heap 과 Stack 이라는 개념이 있음
- Heap
- 장기 메모리
- 함수를 저장하고 함수가 실행될 때 코드가 실행되는 곳
- 동적 메모리 할당 ( new / 포인터 )
- Stack보다 느리다
- 가비지 컬렉터가 없을 시 프로그래머가 직접 관리(할당/해제) 해줘야 한다
- Stack
- 단기 메모리
- 후입 선출
- 속도가 빠르다
- function 실행 시 일시적으로 브라우저가 스택으로 푸시함
- 함수 실행 내역을 스택에 저장한다고 봐도 된다 (자바 스크립트 엔진이 현재 수행하는 작업을 기록하는 곳)
- 지역변수와 매개변수
- 해당 객체가 정의된 블록을 벗어나면 자동으로 소멸한다.
- Heap
- 싱글 스레드와 멀티 스레드
- 싱글 스레드
- 프로세스를 구성함에 있어 스레드가 한 개인 것
- 멀티 스레드
- 프로세스를 구성함에 있어 스레드가 여러 개인 것
- 하여 여러 개의 스레드를 이용한 동시 작업을 할 수 있다.
( 예를 들어 kakaotalk-보이스톡(thread 1), kakaotalk-알람(thread 2) 이런식으로 ) - 근데 완벽하게 다중으로 작업을 하는 것이 아니라 context switching 이라는 개념을 통해서 순차적으로 스레드를 실행하게 됨
(우리가 볼수 없는 영역에서 아주 빠르게 컨텍스트 스위칭이 진행되어 동시에 진행되는 것처럼 보일 뿐)
- 싱글 스레드
반응형
'프로그래밍 > JavaScript' 카테고리의 다른 글
23/01/11 강의 회고 (0) | 2023.01.11 |
---|