Cet article parle de javascript implémentant des threads et des boucles d'événements. Si vous ne connaissez pas l'implémentation de threads et de boucles d'événements par javascript, ou si vous êtes intéressé par l'implémentation de threads et de boucles d'événements par javascript, prenons-en un. Regardez. Cet article, mettons fin aux bêtises et allons droit au but
1 Pourquoi JavaScript est-il dit à thread unique ?
Les différents threads impliqués dans le processus de rendu du navigateur sont : le thread d'exécution JavaScript, responsable de l'exécution du code js, le thread UI, responsable de l'affichage de l'interface utilisateur, Événement JavaScript fil de boucle, gestion
gère les événements JavaScript, où le thread d'exécution JavaScript et le thread d'interface utilisateur s'excluent mutuellement. Si JavaScript est multithread, alors Quand. plusieurs threads d'exécution JavaScript exploitent le même DOM, comme tourner un bouton respectivement en rouge et en jaune, le thread de l'interface utilisateur sera confus. Qui devrait écouter ? Afin d'éviter cette situation en JavaScript, ces
<.> les threads doivent être exécutés séparément, donc JavaScript est monothread. Ceci est devenu la fonctionnalité principale de ce langage et ne sera pas la même à l'avenir.
2. Tâches JavaScriptFile d'attenteStructure et boucle d'événements
.
Les tâches d'exécution en JavaScript sont exécutées selon la structure des données de la file d'attente, comme indiqué ci-dessous :
Tâches en JavaScript :
Tâches de synchronisation :
boucle for, sommation, affectation js, opération js, etc.Tâches asynchrones : événements dom, traitement bom api ajax
.La soi-disant "
Fonction de rappel" (rappel) est le code qui sera raccroché par le fil principal. Les tâches asynchrones doivent spécifier une fonction de rappel. Lorsque le thread principal commence à exécuter une tâche asynchrone, exécute la fonction de rappel correspondante.
Mécanisme de boucle :
Le thread principal JavaScript exécute directement la tâche synchrone, la tâche asynchrone exécute d'abord une partie de la tâche, puisquitte le thread principal s'exécute, Attendez ensuite que la tâche asynchrone soit prête avant de la transmettre au thread principal pour exécution
Bref, le code JavaScript est exécuté un par un sous la forme d'une file d'attente. , et un seul morceau de code peut être exécuté en même temps Recommandations associées :
Expliquer en détail le mécanisme de boucle d'événements JavaScript - Conférence 1
Explication détaillée du mécanisme de boucle d'événements JavaScript - Cours 2
Explication détaillée des exemples de mécanismes de boucle d'événements JavaScript
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!