这篇文章主要介绍了JavaScript使用yield模拟多线程的方法,实例分析了javascript多线程的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了JavaScript使用yield模拟多线程的方法。分享给大家供大家参考。具体分析如下:
在python和C#中都有yield方法,通过yield可以实现很多多线程才能实现的功能。
对javascript有版本要求:JavaScript 1.7
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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) {}
}
上面代码输入结果如下:
?
1
2
3
4
5
6
7
8
9
10
foo: 0
bar: 0
foo: 1
bar: 1
foo: 2
bar: 2
foo: 3
bar: 3
foo: 4
bar: 4
希望本文所述对大家的javascript程序设计有所帮助。