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 focus(fn),blur(fn)方法实例代码
Dec 16 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件
Dec 21 Javascript
Javascript开发之三数组对象实例介绍
Nov 12 Javascript
js 实现 input type=&quot;file&quot; 文件上传示例代码
Aug 07 Javascript
js Select下拉列表框进行多选、移除、交换内容的具体实现方法
Aug 13 Javascript
jQuery实现鼠标双击Table单元格变成文本框及输入内容后更新到数据库的方法
Nov 25 Javascript
js匿名函数作为函数参数详解
Jun 01 Javascript
jquery实现界面无刷新加载登陆注册
Jul 30 Javascript
Vue2 Vue-cli中使用Typescript的配置详解
Jul 24 Javascript
webpack的CSS加载器的使用
Sep 11 Javascript
详解Angular模板引用变量及其作用域
Nov 23 Javascript
vue中js判断长时间不操作界面自动退出登录(推荐)
Jan 22 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
叶罗丽:为什么大家对颜冰这对CP非常关心,却对金茉两人十分冷漠
2020/03/17 国漫
PHP 存取 MySQL 数据库的一个例子
2006/10/09 PHP
腾讯QQ微博API接口获取微博内容
2013/10/30 PHP
PHP生成数组再传给js的方法
2014/08/07 PHP
PHP实用函数分享之去除多余的0
2015/02/06 PHP
PHP将二维数组某一个字段相同的数组合并起来的方法
2016/02/26 PHP
jQuery EasyUI 开源插件套装 完全替代ExtJS
2010/03/24 Javascript
Javascript 网页黑白效果实现代码(兼容IE/FF等)
2010/04/23 Javascript
Extjs4中的分页应用结合前后台
2013/12/13 Javascript
JS基于VML技术实现的五角星礼花效果代码
2015/10/26 Javascript
javascript实现网站加入收藏功能
2015/12/16 Javascript
实例讲解javascript注册事件处理函数
2016/01/09 Javascript
Bootstrap模态对话框的简单使用
2016/04/29 Javascript
javascript九宫格图片随机打乱位置的实现方法
2017/03/15 Javascript
ejsExcel模板在Vue.js项目中的实际运用
2018/01/27 Javascript
react中使用css的7中方式(最全总结)
2019/02/11 Javascript
微信小程序 子级页面返回父级并把子级参数带回父级实现方法
2019/08/22 Javascript
基于javascript处理nginx请求过程详解
2020/07/07 Javascript
video.js添加自定义组件的方法
2020/12/09 Javascript
[40:16]TFT vs Mski Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
Python splitlines使用技巧
2008/09/06 Python
跟老齐学Python之编写类之四再论继承
2014/10/11 Python
深入理解Python中命名空间的查找规则LEGB
2015/08/06 Python
python实现kmp算法的实例代码
2019/04/03 Python
详解python中的生成器、迭代器、闭包、装饰器
2019/08/22 Python
为什么说Python可以实现所有的算法
2019/10/04 Python
图片上传插件ImgUploadJS:用HTML5 File API 实现截图粘贴上传、拖拽上传
2016/01/20 HTML / CSS
BLACKMORES澳洲官网:澳大利亚排名第一的保健品牌
2018/09/27 全球购物
Otticanet美国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
怎样让char类型的东西转换成int类型
2013/12/09 面试题
请编程遍历页面上所有 TextBox 控件并给它赋值为 string.Empty
2015/12/03 面试题
学习优秀共产党员先进事迹思想报告
2014/09/17 职场文书
四查四看整改措施
2014/09/19 职场文书
科学发展观标语
2014/10/08 职场文书
小学新课改心得体会
2016/01/22 职场文书
Python图片验证码降噪和8邻域降噪
2021/08/30 Python