이벤트 루프에 대해 설명해주세요.

최관수·2023년 9월 7일
0

기술면접

목록 보기
8/58

내용 정리

  • 브라우저는 싱글쓰레드에서 특정 이벤트에 반응해서 동작을 변경하는 방식(event-driven)으로 작동합니다. 하지만 실제로 동작하는 웹 애플리케이션은 많은 태스크가 동시에 처리되는 것처럼 느껴지는데, 이러한 동시성(Concurrency)을 지원하는 것이 이벤트 루프입니다.
  • 이벤트 루프는 태스크가 들어오길 기다렸다가 태스크가 들어오면 이를 처리하고, 처리할 태스크가 없으면 잠드는 방식을 반복하는 자바스크립트 내의 루프입니다. 이 이벤트 루프를 기반으로 자바스크립트 엔진은 대부분의 시간 동안 별도의 작업 없이 쉬고 있다가 스크립트나 핸들러, 이벤트가 활성화될 때만 돌아갑니다.

꼬리 질문

  • promise와 setTimeout의 우선순위는 어떻게 되나요?
  • 자바스크립트에게 동시성을 지원하는 것이 구체적으로 어떤 의미인가요?
  • 콜스택과 콜백큐를 감시한다는 의미가 무엇인가요?
  • 콜백큐에는 어떻게 작업이 쌓이게 되나요?
  • 멀티스레드처럼 동작하는 이유가 무엇인가요?

참고자료

profile
평소엔 책과 영화와 음악을 좋아합니다. 보편적이고 보통사람들을 위한 서비스 개발을 꿈꾸고 있습니다.

0개의 댓글