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


Posted in Javascript onMarch 19, 2015

本文实例讲述了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程序设计有所帮助。

Javascript 相关文章推荐
Jquery cookie操作代码
Mar 14 Javascript
基于jquery的jqDnR拖拽溢出的修改
Feb 12 Javascript
js利用数组length属性清空和截短数组的小例子
Jan 15 Javascript
微信小程序 解决swiper不显示图片的方法
Jan 04 Javascript
JS常见创建类的方法小结【工厂方式,构造器方式,原型方式,联合方式等】
Apr 01 Javascript
jQuery实现按比例缩放图片的方法
Apr 29 jQuery
JS实现的全排列组合算法示例
Oct 09 Javascript
vue-router中的hash和history两种模式的区别
Jul 17 Javascript
详解JSON Web Token 入门教程
Jul 30 Javascript
layui select获取自定义属性方法
Aug 15 Javascript
如何提升vue.js中大型数据的性能
Jun 21 Javascript
vue实现列表拖拽排序的功能
Nov 02 Javascript
JavaScript实现按照指定长度为数字前面补零输出的方法
Mar 19 #Javascript
JavaScript数组随机排列实现随机洗牌功能
Mar 19 #Javascript
JavaScript生成随机字符串的方法
Mar 19 #Javascript
JavaScript函数参数使用带参数名的方式赋值传入的方法
Mar 19 #Javascript
JavaScript通过字典进行字符串翻译转换的方法
Mar 19 #Javascript
JavaScript更改原始对象valueOf的方法
Mar 19 #Javascript
jquery比较简洁的软键盘特效实现方法
Mar 19 #Javascript
You might like
PHP调用三种数据库的方法(2)
2006/10/09 PHP
服务器端解压缩zip的脚本
2006/12/22 PHP
php单文件版在线代码编辑器
2015/03/12 PHP
PHP输出两个数字中间有多少个回文数的方法
2015/03/23 PHP
PHP递归遍历指定文件夹内的文件实现方法
2016/11/15 PHP
Laravel使用RabbitMQ的方法示例
2019/06/18 PHP
JQueryEasyUI Layout布局框架的使用
2013/04/08 Javascript
Jquery获取复选框被选中值的简单方法
2013/07/04 Javascript
JS阻止冒泡事件以及默认事件发生的简单方法
2014/01/17 Javascript
JSONP获取Twitter和Facebook文章数的具体步骤
2014/02/24 Javascript
jquery.mobile 共同布局遇到的问题小结
2015/02/10 Javascript
分享Javascript实用方法二
2015/12/13 Javascript
JS使用正则表达式过滤多个词语并替换为相同长度星号的方法
2016/08/03 Javascript
基于node.js之调试器详解
2017/08/22 Javascript
移动端Ionic App 资讯上下循环滚动的实现代码(跑马灯效果)
2017/08/29 Javascript
JavaScript中错误正确处理方式小结你用对了吗
2017/10/10 Javascript
bootstrap datetimepicker控件位置异常的解决方法
2017/11/23 Javascript
Vue 开发音乐播放器之歌手页右侧快速入口功能
2018/08/08 Javascript
微信小程序拼接图片链接无底洞深入探究
2019/09/03 Javascript
Python版实现微信公众号扫码登陆
2020/05/28 Javascript
js实现简单扫雷
2020/11/27 Javascript
Python读取键盘输入的2种方法
2015/06/16 Python
Python读取Json字典写入Excel表格的方法
2018/01/03 Python
Pycharm之快速定位到某行快捷键的方法
2019/01/20 Python
django 微信网页授权认证api的步骤详解
2019/07/30 Python
Python第三方库的几种安装方式(小结)
2020/04/03 Python
Python用dilb提取照片上人脸的示例
2020/10/26 Python
Ann Taylor官方网站:美国最大的女性产品制造商之一
2016/09/14 全球购物
英国最好的包装供应商:Priory Direct
2019/12/17 全球购物
忠诚教育心得体会
2014/09/03 职场文书
生产操作工岗位职责
2014/09/16 职场文书
乡镇镇长个人整改措施
2014/10/01 职场文书
2015年城市管理工作总结
2015/05/23 职场文书
王亚平太空授课观后感
2015/06/12 职场文书
2015年车间管理工作总结
2015/07/23 职场文书
2016年记者节感言
2015/12/08 职场文书