Maison  >  Article  >  interface Web  >  Explication détaillée de l'implémentation JavaScript des threads et de la boucle d'événements

Explication détaillée de l'implémentation JavaScript des threads et de la boucle d'événements

韦小宝
韦小宝original
2018-03-14 16:08:191287parcourir

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

Un seul thread signifie, tout les tâches doivent être mises en file d'attente et la tâche suivante ne sera exécutée que lorsque la tâche précédente sera terminée. Si la tâche précédente prend beaucoup de temps, la tâche suivante devra attendre

.

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, puis

quitte 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

Ce qui précède est tout le contenu de cet article. Si vous n'y connaissez pas grand-chose, vous pouvez essayer d'écrire des boucles d'événements, etc. Cela le rendra facile à maîtriser !

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn