ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript は、yield を使用して multi-threading_javascript スキルをシミュレートします

JavaScript は、yield を使用して multi-threading_javascript スキルをシミュレートします

WBOY
WBOYオリジナル
2016-05-16 16:08:311124ブラウズ

この記事の例では、JavaScript が yield を使用してマルチスレッドをシミュレートする方法を説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです。

PythonやC#にはyieldメソッドがあり、マルチスレッドでしか実現できない機能もyieldで実現できることが多いです。
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) {}
}

上記のコードを入力した結果は次のようになります:

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

この記事が皆様の JavaScript プログラミング設計に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。