Asynchrone : présent et futur
Programme bloqué
Vous pouvez écrire un programme JavaScript Dans un fichier js séparé, ce programme est composé de plusieurs blocs, un seul de ces blocs
est exécuté maintenant, les autres sont récupérés pour l'exécution, et l'unité de bloc la plus courante est une fonction.
Par exemple :
function now() { return 21; } function later() { answer = answer * 2; console.log("Meaning of life:", answer); } var answer = now(); setTimeout (later,1000); // Meaning of life: 42 现在: function now() { return 21; } function later() {...} setTimeout(later,1000); setTimeout(later,1000); 将来: answer = answer * 2; console.log("Meaning of life:", answer);
Console asynchrone
Boucle d'événement
, tandis que le parallélisme concerne des choses qui peuvent se produire en même temps.
Les outils les plus courants pour le calcul parallèle sont les processus et les threads. Le parallélisme et les threads s'exécutent indépendamment et peuvent s'exécuter en même temps
. Différents processus multiples peuvent partager la mémoire d'un seul processus, même sur des processeurs différents.
Concurrence
Deux ou plusieurs "
processus"Concurrence se produit lorsqu'il est exécuté simultanément, que les opérations individuelles qui les composent soient exécutées ou non en parallèle La concurrence peut être considérée comme "
Processus" et le parallélisme, par opposition au parallélisme au niveau informatique. Non interactif
Deux ou plusieurs "
processus"Lors de l'exécution de leurs étapes / événements simultanément et alternativement au sein d'un même programme, si ces tâches ne sont pas liées les unes aux autres, elles n'ont pas nécessairement besoin d'interagir . Interaction
Plus communément, des "
processus" simultanés besoin de communiquer entre eux grâce à l'interaction entre les DOM . Collaboration
Prenez un processus de longue durée et divisez-le en étapes ou en lots, en rendant les autres simultanées"
Processus" ont la possibilité d'insérer leurs propres opérations dans la file d'attente des boucles d'événements pour s'exécuter en alternance. Les tâches
sont suspendues dans une file d'attente après chaque coche
de la file d'attente de la boucle d'événements dans chaque. cochez , il peut y avoir L'occurrence d'une action asynchrone n'entraînera pas l'ajout d'un nouvel événement complet au nouvel événement, mais le fera. être ajouté à l'événement en cours La coche
duajoute un élément à la fin de la file d'attente des tâches. L'ordre des instructions
L'ordre des instructions dans le code n'est pas nécessairement le même que l'ordre dans lequel le JavaScript Le moteur
exécute les instructions.Une fois que le moteur JavaScript a compilé ce code, il peut constater qu'il est possible d'améliorer la vitesse en réorganisant l'ordre de ces instructions
.Rappel
Exécution et planification
Rappels imbriqués et rappels enchaînés
Problèmes de confiance
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!