Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erläuterung des JS-Betriebsmechanismus

Detaillierte Erläuterung des JS-Betriebsmechanismus

小云云
小云云Original
2018-03-17 16:04:081780Durchsuche

Die Umgebung, in der JS ausgeführt wird, ist ein Browser mit mehreren Prozessen. Der Prozess kann den Hauptsteuerungsprozess umfassen (der für die Vorwärts- und Rückwärtsbewegung im Browser verantwortlich ist). Aktionen usw.), GPU, Browserkernel (Browser-Rendering-Prozess, verantwortlich für Seitenrendering, Skriptausführung, Ereignisverarbeitung) usw.

Unter diesen ist der Browserkernel multithreaded, einschließlich

  1. GUI-Rendering-Thread

  2. JS-Engine Thread

  3. JS-Ereignis-Trigger-Thread

  4. Zeitgesteuerter Trigger-Thread

  5. Asynchroner HTTP-Anfrage-Thread

    Sie können wissen, dass JS Single-Threaded ist, weil JS hauptsächlich mit Benutzern interagiert und auch DOM-Elemente bedienen kann. Wenn es Multi-Threaded ist, kann ein Thread ein DOM-Element ändern . Wenn ein anderer Thread dieses DOM-Element löscht, weiß der Browser nicht, welcher Thread verwendet werden soll.

Einzelner Thread bedeutet, dass Aufgaben in einem Thread ausgeführt werden Die vorherige Aufgabe ist nicht abgeschlossen, die folgenden Aufgaben müssen warten, was zu Blockaden führt. Um diese Situation zu vermeiden, verfügt JS über einen Ereignisschleifenmechanismus, um damit umzugehen.
Detaillierte Erläuterung des JS-Betriebsmechanismus
Synchrone Aufgaben werden direkt im Hauptthread ausgeführt. Wenn Sie eine asynchrone Aufgabe ausführen müssen, beispielsweise wenn Sie eine asynchrone AJAX-Anfrage initiieren müssen, teilt der Hauptthread dies der asynchronen HTTP-Anfrage mit Thread, damit der asynchrone HTTP-Anforderungsthread diese asynchrone AJAX-Anforderungsaufgabe ausführen kann. Wenn der HTTP-Anforderungsthread die Aufgabe abschließt, stellt er das Ausführungsergebnis in die Nachrichtenwarteschlange. Wenn die Synchronisierungsaufgabe des Hauptthreads abgeschlossen ist, wird die asynchrone Aufgabe gelesen in der Nachrichtenwarteschlange und führen Sie die asynchrone Callback-Funktion aus. Dieser Vorgang wird kontinuierlich wiederholt.

Verwandte Empfehlungen:

Ereignisse und Rückruffunktionen des JavaScript-Ausführungsmechanismus

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des JS-Betriebsmechanismus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn