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 相关文章推荐
jqPlot 图表中文API使用文档及源码和在线示例
Feb 07 Javascript
JS使用ajax方法获取指定url的head信息中指定字段值的方法
Mar 24 Javascript
jquery实现美观的导航菜单鼠标提示特效代码
Sep 06 Javascript
jquery 实现输入邮箱时自动补全下拉提示功能
Oct 04 Javascript
Javascript中indexOf()和lastIndexOf应用方法实例
Aug 24 Javascript
angularJS Provider、factory、service详解及实例代码
Sep 21 Javascript
AngularJS select设置默认值的实现方法
Aug 25 Javascript
node.js使用免费的阿里云ip查询获取ip所在地【推荐】
Sep 03 Javascript
ES6 class的应用实例分析
Jun 27 Javascript
layui table设置某一行的字体颜色方法
Sep 05 Javascript
jQuery实现点击滚动到指定元素上的方法分析
Mar 19 jQuery
Vue-cli assets SubDirectory及PublicPath区别详解
Aug 18 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
script标签的 charset 属性使用说明
2010/12/04 Javascript
JS实现距离上次刷新已过多少秒示例
2014/05/23 Javascript
使用jquery解析XML的方法
2014/09/05 Javascript
SuperSlide标签切换、焦点图多种组合插件
2015/03/14 Javascript
seajs学习之模块的依赖加载及模块API的导出
2016/10/20 Javascript
JS针对Array的各种操作汇总
2016/11/29 Javascript
微信小程序 下拉菜单简单实例
2017/04/13 Javascript
vue2.0实现移动端的输入框实时检索更新列表功能
2018/05/08 Javascript
node.js使用redis储存session的方法
2018/09/26 Javascript
VUE安装使用教程详解
2019/06/03 Javascript
vue实现数字动态翻牌的效果(开箱即用)
2019/12/08 Javascript
extjs4图表绘制之折线图实现方法分析
2020/03/06 Javascript
详解钉钉小程序组件之自定义模态框(弹窗封装实现)
2020/03/07 Javascript
element-ui中el-upload多文件一次性上传的实现
2020/12/02 Javascript
基于vue+echarts数据可视化大屏展示的实现
2020/12/25 Vue.js
python版本的读写锁操作方法
2016/04/25 Python
在python里从协程返回一个值的示例
2019/02/19 Python
PyQt Qt Designer工具的布局管理详解
2019/08/07 Python
基于Python模拟浏览器发送http请求
2020/11/06 Python
pytorch加载语音类自定义数据集的方法教程
2020/11/10 Python
Scrapy+Selenium自动获取cookie爬取网易云音乐个人喜爱歌单
2021/02/01 Python
美国最大的团购网站:Groupon
2016/07/23 全球购物
Vans(范斯)德国官网:美国南加州的原创极限运动潮牌
2017/05/02 全球购物
后勤采购员岗位职责
2013/12/19 职场文书
写给女朋友的道歉信
2014/01/12 职场文书
法定代表人授权委托书
2014/04/04 职场文书
小区推广策划方案
2014/06/06 职场文书
学校关爱留守儿童活动方案
2014/08/27 职场文书
公司的门卫岗位职责
2014/09/09 职场文书
教师遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
民主评议党员登记表自我评价
2014/10/20 职场文书
2014年扶贫工作总结
2014/11/18 职场文书
和领导吃饭祝酒词
2015/08/11 职场文书
《将心比心》教学反思
2016/02/23 职场文书
2016年“12.4”法制宣传日活动总结
2016/04/01 职场文书
java设计模式--建造者模式详解
2021/07/21 Java/Android