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 相关文章推荐
原生JS操作网页给p元素添加onclick事件及表格隔行变色
Dec 01 Javascript
jquery动态添加option示例
Dec 30 Javascript
jQuery.parseJSON(json)将JSON字符串转换成js对象
Jul 27 Javascript
基于Jquery插件实现跨域异步上传文件功能
Apr 26 Javascript
BootStrap 附加导航组件
Jul 22 Javascript
深入理解 JavaScript 中的 JSON
Apr 06 Javascript
vue.js组件之间传递数据的方法
Jul 10 Javascript
原生JS上传大文件显示进度条 php上传文件代码
Mar 27 Javascript
vuex的简单使用教程
Feb 02 Javascript
JS实现方形抽奖效果
Aug 27 Javascript
vue+vant实现商品列表批量倒计时功能
Jan 13 Javascript
Vue router配置与使用分析讲解
Dec 24 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
php Mysql日期和时间函数集合
2007/11/16 PHP
yii的CURD操作实例详解
2014/12/04 PHP
php数字每三位加逗号的功能函数
2015/10/22 PHP
PHP正则删除HTML代码中宽高样式的方法
2017/06/12 PHP
php5.6.x到php7.0.x特性小结
2019/08/17 PHP
响应鼠标变换表格背景或者颜色的代码
2009/03/30 Javascript
jQueryUI的Dialog的简单封装
2010/06/07 Javascript
jQuery中读取json文件示例代码
2013/05/10 Javascript
JavaScript判断变量是否为undefined的两种写法区别
2013/12/04 Javascript
javascript算法题:求任意一个1-9位不重复的N位数在该组合中的大小排列序号
2015/04/01 Javascript
简介JavaScript中的getUTCFullYear()方法的使用
2015/06/10 Javascript
XML文件转化成NSData对象的方法
2015/08/12 Javascript
jQuery实现瀑布流布局详解(PC和移动端)
2020/09/01 Javascript
深入解析JavaScript中函数的Currying柯里化
2016/03/19 Javascript
微信小程序 表单Form实例详解(附源码)
2016/12/22 Javascript
原生js实现验证码功能
2017/03/16 Javascript
原生JS实现的多个彩色小球跟随鼠标移动动画效果示例
2018/02/01 Javascript
10分钟上手vue-cli 3.0 入门介绍
2018/04/04 Javascript
CryptoJS中AES实现前后端通用加解密技术
2018/12/18 Javascript
vue中实现图片压缩 file文件的方法
2020/05/28 Javascript
详解Python编程中包的概念与管理
2015/10/16 Python
numpy中实现ndarray数组返回符合特定条件的索引方法
2018/04/17 Python
使用Python操作FTP实现上传和下载的方法
2019/04/01 Python
Python pandas DataFrame操作的实现代码
2019/06/21 Python
对Django url的几种使用方式详解
2019/08/06 Python
python实现大量图片重命名
2020/03/23 Python
基于SpringBoot构造器注入循环依赖及解决方式
2020/04/26 Python
浅析NumPy 切片和索引
2020/09/02 Python
把Anaconda中的环境导入到Pycharm里面的方法步骤
2020/10/30 Python
成人大专生实习期的自我评价
2013/10/02 职场文书
向国旗敬礼学生寄语大全
2014/09/30 职场文书
医院护士党的群众路线教育实践活动对照检查材料思想汇报
2014/10/04 职场文书
悬空寺导游词
2015/02/05 职场文书
销售经理工作检讨书
2015/02/19 职场文书
go 实现简易端口扫描的示例
2021/05/22 Golang
Java实现添加条码或二维码到Word文档
2022/06/01 Java/Android