> 웹 프론트엔드 > 프런트엔드 Q&A > JavaScript의 마이크로 마이크로 스와 마크로스크는 무엇입니까?

JavaScript의 마이크로 마이크로 스와 마크로스크는 무엇입니까?

James Robert Taylor
풀어 주다: 2025-03-17 11:22:25
원래의
761명이 탐색했습니다.

JavaScript의 마이크로 마이크로 스와 마크로스크는 무엇입니까?

JavaScript에서 Microtasks와 Macrotasks는 JavaScript Event Loop에서 관리하는 두 가지 유형의 작업입니다. 이러한 개념을 이해하는 것은 비동기 작업을 관리하고 JavaScript 응용 프로그램에서 올바른 실행 순서를 보장하는 데 중요합니다.

마이크로스크는 현재 작업이 완료된 후 가능한 빨리 실행할 예정인 작업입니다. 일반적으로 약속에 의해 만들어지며 현재 실행 컨텍스트가 완료된 직후에 처리 해야하는 작업을 처리하는 데 사용됩니다. 마이크로스크의 예로는 약속의 then 가 포함됩니다.

마크로스크 (때때로 "작업"이라고도 함)는 현재 작업 후에 실행될 예정이며 모든 마이크로 스로크가 완료된 작업입니다. 마크로스크는 일반적으로보다 일반적인 비동기 작업에 사용되며 마우스 클릭, 시간 초과 및 간격과 같은 이벤트에서 만들어집니다. setTimeout 콜백 및 setInterval 콜백이 그 예입니다.

그들 사이의 주요 차이점은 이벤트 루프 내에서 실행시기입니다. 마이크로스크는 다른 마크로스크가 시작되기 전에 실행되므로 약속에 의존하는 작업에 대한 응답 시간이 더 빠릅니다.

마이크로스크와 마크로스크는 JavaScript의 실행 순서에 어떤 영향을 미칩니 까?

마이크로스크와 마크로스크는 JavaScript의 실행 순서를 결정하는 데 중요한 역할을합니다. 다음은 이벤트 루프가 이러한 작업을 처리하는 방법에 대한 단계별 분석입니다.

  1. 현재 스크립트의 실행 : 이벤트 루프는 현재 스크립트의 실행으로 시작되며 마이크로 스스크 및 매크로스크를 대기시킬 수 있습니다.
  2. 마이크로 마스크 처리 : 스크립트 실행이 완료되면 이벤트 루프는 즉시 마이크로스크 큐를 점검하고 대기열이 비어있을 때까지 모든 마이크로 마스로를 처리합니다.
  3. 다음 마크로스크 처리 : 모든 마이크로스크가 처리 된 후 이벤트 루프는 마크로스크 큐를 점검하고 다음 마크로스크를 라인으로 실행하기 시작합니다.
  4. 주기 반복 : 프로세스가 반복됩니다. 각 마크로스크 후, 다음 마크로스크가 시작되기 전에 보류중인 모든 마이크로 마이크로 마이크로 마이크로 마이크로가 실행됩니다.

이 순서는 마이크로스크가 항상 마크로스크보다 우선 순위가 지정되도록합니다. 예를 들어, 마크로스크를 실행하는 동안 약속이 해결되면, 핸들러 then 마이크로스크 큐에 추가되며 다음 마크로스크가 시작되기 전에 실행됩니다. 이 우선 순위는 특히 여러 비동기 동작을 처리 할 때 예측 가능한 운영 순서를 유지하는 데 도움이됩니다.

마이크로스크와 마크로스크의 이벤트 루프 처리의 차이점은 무엇입니까?

이벤트 루프가 마이크로 마이크로 스와 마크로스크를 처리하는 방법의 주요 차이점은 실행 타이밍 및 우선 순위에 있습니다.

  • 실행 타이밍 :

    • 마이크로스크 : 현재 작업 직후와 마크로스크 직전에 처리됩니다. 마이크로스크가 큐에 추가되면 이벤트 루프가 다음 매크로스크로 이동하기 전에 실행해야합니다.
    • 마크로스크 : 대기열에있는 모든 마이크로스크가 실행 된 후에 만 ​​처리됩니다. 이벤트 루프는 대기열에서 하나의 마크로스크를 가져 와서 실행 한 다음 다음 마이크로스크로 이동하기 전에 결과 마이크로스크를 처리합니다.
  • 우선 사항 :

    • 마이크로스크 : 마크로스크보다 우선 순위가 높습니다. 작업 실행 중에 대기열에 추가 된 모든 마이크로 마스크는 다음 매크로스크가 처리되기 전에 처리됩니다.
    • 마크로스크 : 우선 순위가 낮고 모든 마이크로스크가 완료된 후에 만 ​​실행됩니다. 이는 가공 할 마이크로스크가 많은 경우 마크로스크를 지연시킬 수 있음을 의미합니다.

이러한 취급 차이는 개발자가 타이밍 및 실행 순서를 효과적으로 관리하기 위해이 동작을 이해하고 활용해야하므로 비동기 자바 스크립트 응용 프로그램의 전반적인 흐름과 성능에 영향을 미칩니다.

JavaScript 애플리케이션에 마이크로스크 및 마크로스크의 일반적인 예를 나열 할 수 있습니까?

JavaScript 응용 프로그램에서 마이크로 마스크의 일반적인 예는 다음과 같습니다.

  • then 약속과 catch 핸들러 : 약속이 해결되거나 거부되면, 핸들러는 마이크로 스스크 대기열에 추가됩니다.
  • 작동 await : async/await await , 부품은 마이크로 마이크로 마이크로 스를 효과적으로 대기합니다.
  • queueMicrotask 기능 : 마이크로 마이크로 스케줄을 예약하는 직접적인 방법.

JavaScript 응용 프로그램에서 마크로스크의 일반적인 예는 다음과 같습니다.

  • DOM 이벤트 : click , scrollresize 같은 이벤트는 마크로스크로 처리됩니다.
  • setTimeoutsetInterval 콜백 : 타이머 및 간격은 지정된 지연 후 실행되는 마크로스크를 만듭니다.
  • requestAnimationFrame Callbacks : 애니메이션에 사용되며 매크로스크로 예약되었습니다.
  • I/O 운영 : Node.js 환경에서 파일을 읽거나 쓰는 것과 같은 작업은 매크로스크로 처리됩니다.

마이크로스크와 마크로스크의 구별을 이해하고 이벤트 루프가 어떻게 관리하는지 이해하면 효율적이고 예측 가능한 비동기 자바 스크립트 코드를 작성하는 능력을 크게 향상시킬 수 있습니다.

위 내용은 JavaScript의 마이크로 마이크로 스와 마크로스크는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿