In diesem Artikel geht es um die Javascript-Implementierung von Threads und Ereignisschleifen. Wenn Sie nicht wissen, wie Javascript Threads und Ereignisschleifen implementiert, oder wenn Sie sich für die Implementierung von Threads und Ereignisschleifen durch Javascript interessieren, schauen wir uns Folgendes an Schauen wir mal. Lassen Sie uns den Unsinn auf den Punkt bringen.
1 Warum soll JavaScript Single-Threaded sein?
Die verschiedenen Threads, die am Browser-Rendering-Prozess beteiligt sind, sind: JavaScript-Ausführungsthread, verantwortlich für die Ausführung von JS-Code, UI-Thread, verantwortlich für die UI-Anzeige, JavaScript-Ereignis Schleifenthread, Verwaltung
verwaltet JavaScript-Ereignisse, bei denen sich der JavaScript-Ausführungsthread und der UI-Thread gegenseitig ausschließen. Wenn JavaScript multithreaded ist, dann Wann Mehrere JavaScript-Ausführungsthreads betreiben dasselbe DOM, z. B. indem sie eine Schaltfläche rot bzw. gelb schalten. Wer sollte diese Situation in JavaScript vermeiden? 🎜> Threads müssen separat ausgeführt werden, daher ist JavaScript zum Kernmerkmal dieser Sprache geworden und wird sich in Zukunft nicht mehr ändern.
2. JavaScript-AufgabenWarteschlange
Struktur und Ereignisschleife
Ausführungsaufgaben in JavaScript werden gemäß der Warteschlangendatenstruktur ausgeführt, wie unten gezeigt:
Aufgaben in JavaScript:
for-Schleife, Summierung, js-Zuweisung, js-Operation usw.
2. Asynchrone Aufgaben: Dom-Ereignisse, BOM-API-Verarbeitung Ajax
Die sogenannte „Callback-Funktion“ (Callback) ist der Code, der vom Hauptthread aufgehängt wird. Asynchrone Aufgaben müssen eine Rückruffunktion angeben. Wenn der Hauptthread mit der Ausführung einer asynchronen Aufgabe beginnt, führt
die entsprechende Rückruffunktion aus. Schleifenmechanismus:
Der JavaScript-Hauptthread führt die synchrone Aufgabe direkt aus, die asynchrone Aufgabe führt zuerst einen Teil davon aus und wird dann beendet Der Hauptthread wird ausgeführt. Warten Sie dann, bis die asynchrone Aufgabe bereit ist, bevor Sie sie zur Ausführung an den Hauptthread übergeben.
Kurz gesagt, der JavaScript-Code wird einzeln in Form einer Warteschlange ausgeführt. und es kann nur ein Teil des Codes gleichzeitig ausgeführt werden. Das Obige ist der gesamte Inhalt dieses Artikels. Wenn Sie es nicht gut verstehen, können Sie versuchen, einige Ereignisschleifen usw. zu schreiben. So wird es leicht zu meistern sein!
Den JavaScript-Ereignisschleifenmechanismus im Detail erklären – Vorlesung 1
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der JavaScript-Implementierung von Threads und Ereignisschleifen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!