메인 스레드 스케줄링

스케줄링이란?

  • 메인 스레드는 자바스크립트 실행 이외 렌더링, 네트워트 응답, GC 등 다양한 역할을 수행함

  • 메인 스레드에 많은 작업들이 예약되면 웹 사이트의 성능과 사용성 경험이 저하됨

  • 스케줄링을 통해 우선순위가 다른 작업을 효율적으로 등록하고 제어해야 함


어떻게?

우선적으로 Event Loop에 대한 이해가 필요함.

그리고 상황에 맞게 아래 API 활용


1️⃣프레임워크 사용 중 일 때

React의 startTransition, Vue의 nextTick 등


2️⃣1번으로만 대응 안되고, 모든 브라우저 지원 필요할 때

requestAnimationFrame(), requestIdleCallback(), postMessage(), setTimeout()


3️⃣크로미움 기반 브라우저만 대응할 때

scheduler.postTask()

더 많은 콘텐츠를 보고 싶다면?

또는

이미 회원이신가요?

2024년 2월 4일 오전 1:40

댓글 0