웹 개발 중에 브라우저가 이벤트에 응답하지 않고 애니메이션 정지 상태에 들어가거나 "스크립트 실행 시간이 너무 김" 프롬프트 상자가 나타나는 경우가 종종 발생합니다. 통제 불능. 브라우저에는 js 엔진 스레드(js 처리), GUI 렌더링 스레드(렌더링 페이지), 브라우저 이벤트 트리거 스레드(상호작용 제어)라는 세 가지 이상의 스레드가 있습니다. 1: JavaScript 엔진은 이벤트 기반 단일 스레드 실행을 기반으로 합니다. JS 엔진은 작업 대기열에 작업이 도착할 때까지 기다렸다가 이를 처리합니다. 브라우저에는 언제든지 JS 프로그램을 실행하는 JS 스레드가 하나만 있습니다. . 2: GUI 렌더링 스레드는 브라우저 인터페이스 렌더링을 담당합니다. 인터페이스를 다시 그려야 하거나(다시 그리기) 특정 작업으로 인해 리플로우가 발생하는 경우 이 스레드가 실행됩니다. 그러나 GUI 렌더링 스레드와 JS 엔진은 상호 배타적입니다. JS 엔진이 실행되면 GUI 스레드가 일시 중지되고 GUI 업데이트가 중단됩니다.
소개: 웹 개발 중. , 브라우저가 이벤트에 응답하지 않고 애니메이션 일시 중지 상태에 들어가거나 "스크립트 실행 시간이 너무 깁니다"라는 프롬프트 상자가 나타나는 경우가 종종 발생합니다. 이 경우 스크립트가 제어할 수 없음을 의미합니다. .
2. JavaScript의 Promise 소개
소개: 1. 소개 JavaScript는 단일 스레드이며 한 번에 하나의 작업만 실행할 수 있습니다. 시간이 오래 걸리면 후속 작업을 기다려야 합니다. 그렇다면 이런 문제를 해결할 수 있는 방법은 없을까? (WebWorker는 제쳐두고), 이는 코드가 비동기적으로 실행되도록 하는 것입니다. 예를 들어, Ajax 비동기 요청을 수행할 때 지정된 콜백 함수의 실행을 결정하기 위해 ReadyState 값이 지속적으로 모니터링됩니다. 일반적으로 비동기 실행에는 콜백 함수, 이벤트 수신, 게시 및 구독의 세 가지 유형이 있습니다. 이벤트 수신과 게시 및 구독은 실제로 유사하지만 후자가 더 강력합니다. 콜백 함수와 같은 반환...
3.html5 멀티 스레드 처리 webWorker
소개: Web Worker는 웹 콘텐츠가 백그라운드에서 스크립트를 실행할 수 있도록 하는 간단한 방법을 제공합니다. . 작업자가 생성되면 작성자가 지정한 이벤트 수신 함수에 메시지를 전달할 수 있으므로 작업자가 생성한 모든 작업은 이러한 메시지를 받게 됩니다. js - 각도 지시문에는 단위 테스트에서 작업자 파일이 포함되지 않습니다. 오류가 항상 보고됩니다. 어떻게 해결하나요?
위 내용은 webWorker에 대한 10가지 추천 강좌의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!