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 相关文章推荐
javascript 获取页面的高度及滚动条的位置的代码
May 06 Javascript
关于js注册事件的常用方法
Apr 03 Javascript
js判断登录与否并确定跳转页面的方法
Jan 30 Javascript
Jquery uploadify上传插件使用详解
Jan 13 Javascript
jquery对象和DOM对象的相互转换详解
Oct 18 Javascript
js 点击a标签 获取a的自定义属性方法
Nov 21 Javascript
微信小程序 实战程序简易新闻的制作
Jan 09 Javascript
微信小程序 基础组件与导航组件详细介绍
Feb 21 Javascript
easyui-edatagrid.js实现回车键结束编辑功能的实例
Apr 12 Javascript
微信小程序实战之自定义抽屉菜单(7)
Apr 18 Javascript
easyui datagrid 表格中操作栏 按钮图标不显示的解决方法
Jul 27 Javascript
Vue使用NProgress进度条的方法
Sep 21 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笔记之:初探PHPcms模块开发介绍
2013/04/26 PHP
PHP header()函数常用方法总结
2014/04/11 PHP
php检索或者复制远程文件的方法
2015/03/13 PHP
PHP弹出对话框技巧详细解读
2015/09/26 PHP
用Javscript实现表单复选框的全选功能
2007/05/25 Javascript
根据json字符串生成Html的一种方式
2013/01/09 Javascript
JS调用CS里的带参方法实例
2013/08/01 Javascript
js 时间函数应用加、减、比较、格式转换的示例代码
2013/08/23 Javascript
javascript:void(0)使用探讨
2013/08/27 Javascript
JavaScript Math 对象常用方法总结
2016/04/28 Javascript
jQuery代码实现图片墙自动+手动淡入淡出切换效果
2016/05/09 Javascript
JS前向后瞻正则表达式定义与用法示例
2016/12/27 Javascript
jQuery学习之DOM节点的插入方法总结
2017/01/22 Javascript
利用Javascript实现简单的转盘抽奖
2017/02/13 Javascript
nodejs6下使用koa2框架实例
2017/05/18 NodeJs
JS 实现banner图片轮播效果(鼠标事件)
2017/08/04 Javascript
js+canvas实现滑动拼图验证码功能
2018/03/26 Javascript
js正则相关知识点专题
2018/05/10 Javascript
轻量级富文本编辑器wangEditor结合vue使用方法示例
2018/10/10 Javascript
JS div匀速移动动画与变速移动动画代码实例
2019/03/26 Javascript
[02:43]2018DOTA2亚洲邀请赛主赛事首日TOP5
2018/04/04 DOTA
django创建自定义模板处理器的实例详解
2017/08/14 Python
Python进阶学习之特殊方法实例详析
2017/12/01 Python
Python数据分析matplotlib设置多个子图的间距方法
2018/08/03 Python
用Python爬取QQ音乐评论并制成词云图的实例
2019/08/24 Python
Python IDLE或shell中切换路径的操作
2020/03/09 Python
matplotlib.pyplot.matshow 矩阵可视化实例
2020/06/16 Python
美国环保妈妈、儿童和婴儿用品购物网站:The Tot
2019/11/24 全球购物
德国最大的婴儿用品网上商店:Kidsroom.de(支持中文)
2020/09/02 全球购物
中文师范生自荐信
2014/01/30 职场文书
优秀团员个人总结
2015/02/26 职场文书
护士实习自荐信
2015/03/06 职场文书
爱护公物主题班会
2015/08/17 职场文书
初三化学教学反思
2016/02/22 职场文书
bat批处理之字符串操作的实现
2022/03/16 Python
vue如何在data中引入图片的正确路径
2022/06/05 Vue.js