이 글에서는 javascript스레드 및 이벤트 루프 구현에 대해 설명합니다. 자바스크립트의 스레드 및 이벤트 루프 구현에 대해 모르거나 자바스크립트의 스레드 및 이벤트 루프 구현에 관심이 있다면 이 글을 함께 살펴보겠습니다. . 알았어 헛소리는 그만하고 본론으로 들어가죠
1. JavaScript가 단일 스레드라고 하는 이유는 무엇입니까?
브라우저 렌더링 프로세스에 관련된 여러 스레드는 다음과 같습니다: js 코드 실행을 담당하는 JavaScript 실행 스레드, UI 표시를 담당하는 UI 스레드, JavaScript 이벤트 루프 스레드, 관리
JavaScript 이벤트 , JavaScript 실행 스레드와 UI 스레드는 상호 배타적입니다. JavaScript가 멀티 스레드인 경우 버튼을 빨간색과 노란색으로 바꾸는 등 여러 JavaScript 실행 스레드가 동일한
을 작동하면 UI 스레드가 혼란스러워집니다. 이때, 누구의 말을 들어야 할까요? JavaScript에서는 이러한 상황을 피하기 위해 이러한
스레드를 별도로 실행해야 하므로 JavaScript는 단일 스레드이므로 언어의 핵심 특성은 변하지 않습니다. 미래에.
단일 스레드는 모든 작업을 대기열에 넣어야 하며 다음 작업이 실행되기 전에 이전 작업이 종료된다는 의미입니다. 이전 작업이 오래 걸리면 다음 작업은
계속 기다려야 합니다.
JavaScript의 실행 작업은 아래와 같이 대기열 데이터 구조의 형태로 실행됩니다.
JavaScript의 작업: 1. 동기화 작업 :for 루프
, 합산, js 할당, js 작업 등2. 비동기 작업: dom 이벤트, bom api 처리 ajax
소위 "콜백 함수
" (콜백) - 메인 스레드에 의해 중단될 코드입니다. 비동기 작업은 콜백 함수를 지정해야 합니다. 메인 스레드가 비동기 작업 실행을 시작하면 루프 메커니즘:JavaScript 메인 스레드는 동기 작업을 직접 실행하고, 비동기 작업은 그 중 일부를 먼저 실행한 다음
exit메인 스레드 실행을 수행하고, 비동기 작업을 메인 스레드에 넘기기 전에 준비될 때까지 기다립니다. 실행용 스레드,간단히 말하면 자바스크립트 코드는 큐 형태로 하나씩 실행되며, 동시에 한 개의 코드만 실행될 수 있습니다.
위 내용이 이 글의 전부입니다. 당신은 그것에 대해 많이 알지 못합니다. 이벤트 루프 등을 작성해 볼 수 있습니다. 이렇게 하면 쉽게 익힐 수 있습니다!
관련 추천:
JavaScript 이벤트 루프 메커니즘 자세히 설명 - 1강
JavaScript 이벤트 루프 메커니즘 자세히 설명 - 2강
JavaScript 자세한 설명 이벤트 루프 메커니즘 예
위 내용은 스레드 및 이벤트 루프의 JavaScript 구현에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!