[basics] javascript = 싱글 스레드 (Chrome V8 engine)

Jinbro·2022년 8월 20일
0

basics

목록 보기
2/8

javascript = 싱글 스레드

javascript engine

  • javascript 소스 코드를 컴퓨터가 이해할 수 있는 기계어로 해석하고 실행시켜주는 인터프리터
  • 주로 web browser 를 위해 사용

Chrome V8 engine

  • 오픈 소스 javascript engine 중 하나
  • javascript runtime (Chrome web browser, nodejs) 에서 사용

Chrome V8 engine 내부 구조

javascript engine은 하나의 Memory Heap 과 하나의 Call Stack 을 가진다.

  • Memory Heap
    변수나 상수 등에 사용되는 데이터를 저장하는 공간
  • Call Stack (LIFO : Last In, First Out)
    1. 코드 실행에 따라 호출 스택을 쌓는 영역
    2. 하나의 Call Stack을 가지고 있기 때문에 (싱글 스레드), 한 번에 하나의 일만 처리할 수 있다. (동기적 처리)
    => javascript는 멀티 스레드를 이용 못 하기 때문에, 🔗다건의 비동기 작업을 web browser에게 위임한다.
    3. 코드 실행 순서 관리 수행하는 역할

javascript engine 내부 구조 샘플

샘플 소스

<script>
import { loginUser } from '@/api/index';

export default {
  data() {
    return {
      id: 'jinbro',
      pw: '1234',
      logMsg: '',
    };
  },
  methods: {
    async login() {
      const loginUserData = {
        id: this.id,
        pw: this.pw,
      };
      const { data } = await loginUser(loginUserData);
      this.logMsg = `${data.username}님, 로그인 완료 되었습니다.`;
    },
  },
};
</script>

참고

profile
자기 개발 기록 저장소

0개의 댓글