Maison >interface Web >js tutoriel >JavaScript utilise Yield pour simuler les compétences multi-threading_javascript

JavaScript utilise Yield pour simuler les compétences multi-threading_javascript

WBOY
WBOYoriginal
2016-05-16 16:08:311116parcourir

L'exemple de cet article décrit comment JavaScript utilise le rendement pour simuler le multi-threading. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :

Il existe des méthodes de rendement en python et C#, et de nombreuses fonctions qui ne peuvent être réalisées que par multi-threading peuvent être réalisées grâce à rendement.
Il existe des exigences de version pour javascript : JavaScript 1.7

function Thread( name ) {
  for ( var i = 0; i < 5; i++ ) {
    Print(name+': '+i);
    yield;
  }
}
//// thread management
var threads = [];
// thread creation
threads.push( new Thread('foo') );
threads.push( new Thread('bar') );
// scheduler
while (threads.length) {
  var thread = threads.shift();
  try {
    thread.next();
    threads.push(thread);
  } catch(ex if ex instanceof StopIteration) {}
}

Le résultat de la saisie du code ci-dessus est le suivant :

foo: 0
bar: 0
foo: 1
bar: 1
foo: 2
bar: 2
foo: 3
bar: 3
foo: 4
bar: 4

J'espère que cet article sera utile à la conception de la programmation JavaScript de chacun.

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