首页 > 语言 > JavaScript > 正文

JavaScript使用yield模拟多线程的方法

2024-05-06 16:17:15
字体:大 中 小
来源:转载
供稿:网友

这篇文章主要介绍了JavaScript使用yield模拟多线程的方法,实例分析了javascript多线程的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了JavaScript使用yield模拟多线程的方法。分享给大家供大家参考。具体分析如下:

在python和C#中都有yield方法,通过yield可以实现很多多线程才能实现的功能。

对javascript有版本要求:JavaScript 1.7

 

 
  1. function Thread( name ) { 
  2. for ( var i = 0; i < 5; i++ ) { 
  3. Print(name+': '+i); 
  4. yield; 
  5. } 
  6. } 
  7. //// thread management 
  8. var threads = []; 
  9. // thread creation 
  10. threads.push( new Thread('foo') ); 
  11. threads.push( new Thread('bar') ); 
  12. // scheduler 
  13. while (threads.length) { 
  14. var thread = threads.shift(); 
  15. try { 
  16. thread.next(); 
  17. threads.push(thread); 
  18. } catch(ex if ex instanceof StopIteration) {} 
  19. } 

上面代码输入结果如下:

 

 
  1. foo: 0 
  2. bar: 0 
  3. foo: 1 
  4. bar: 1 
  5. foo: 2 
  6. bar: 2 
  7. foo: 3 
  8. bar: 3 
  9. foo: 4 
  10. bar: 4 

希望本文所述对大家的javascript程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选