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的extend和fn.extend的使用说明
Jan 09 Javascript
javascript设计模式 接口介绍
Jul 24 Javascript
Jquery api 速查表分享
Jan 12 Javascript
jQuery soColorPacker 网页拾色器
Jun 22 Javascript
JQuery实现列表中复选框全选反选功能封装(推荐)
Nov 24 Javascript
textarea 在浏览器中固定大小和禁止拖动的实现方法
Dec 03 Javascript
vue实现列表的添加点击
Dec 29 Javascript
作为老司机使用 React 总结的 11 个经验教训
Apr 08 Javascript
MUI实现上拉加载和下拉刷新效果
Jun 30 Javascript
javascript防抖函数debounce详解
Jun 11 Javascript
vue 框架下自定义滚动条(easyscroll)实现方法
Aug 29 Javascript
如何在vue中使用video.js播放m3u8格式的视频
Feb 01 Vue.js
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
漫威DC即将合作联动,而双方早已经秘密开始
2020/04/09 欧美动漫
怎样在UNIX系统下安装php3
2006/10/09 PHP
Zend的Registry机制的使用说明
2013/05/02 PHP
php压缩和解压缩字符串的方法
2015/03/14 PHP
yii2缓存Caching基本用法示例
2016/07/18 PHP
CI框架实现优化文件上传及多文件上传的方法
2017/01/04 PHP
如何让PHP编码更加好看利于阅读
2019/05/12 PHP
js Date自定义函数 延迟脚本执行
2010/03/10 Javascript
JavaScript 原型与继承说明
2010/06/09 Javascript
JS获取几种URL地址的方法小结
2014/02/26 Javascript
移动开发之自适应手机屏幕宽度
2016/11/23 Javascript
详解es6超好用的语法糖Decorator
2018/08/01 Javascript
小程序兼容安卓和IOS数据处理问题及坑
2018/09/18 Javascript
Angular2 自定义表单验证器的实现方法
2018/12/14 Javascript
JS与SQL方式随机生成高强度密码示例
2018/12/29 Javascript
vue实现一个矩形标记区域(rectangle marker)的方法
2020/10/28 Javascript
python实现哈希表
2014/02/07 Python
python登录pop3邮件服务器接收邮件的方法
2015/04/30 Python
python实现简单爬虫功能的示例
2016/10/24 Python
Python处理文本换行符实例代码
2018/02/03 Python
Django model 中设置联合约束和联合索引的方法
2019/08/06 Python
在python下实现word2vec词向量训练与加载实例
2020/06/09 Python
Django mysqlclient安装和使用详解
2020/09/17 Python
Python根据URL地址下载文件并保存至对应目录的实现
2020/11/15 Python
基于HTML5 Canvas的3D动态Chart图表的示例
2017/11/02 HTML / CSS
澳大利亚快时尚鞋类市场:Billini
2018/05/20 全球购物
澳大利亚礼品卡商店:Gift Card Store
2019/06/24 全球购物
维也纳通行证:Vienna PASS
2019/07/18 全球购物
迎接领导欢迎词
2014/01/11 职场文书
药剂专业自荐书
2014/06/20 职场文书
员工生日活动方案
2014/08/24 职场文书
小学生国庆65周年演讲稿范文(2篇)
2014/09/21 职场文书
党员违纪检讨书怎么写
2014/11/01 职场文书
承德避暑山庄导游词
2015/02/03 职场文书
2016年师德先进个人事迹材料
2016/02/29 职场文书
python绘图subplots函数使用模板的示例代码
2021/04/30 Python