프로그래밍/JavaScript

23/01/26 강의 회고

Nowon9159 2023. 1. 26. 23:03
반응형

주제 : 자바스크립트 엔진에 대하여

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