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 event flow 的一个bug详解
Sep 17 Javascript
JS实现控制表格行文本对齐的方法
Mar 30 Javascript
JavaScript变量的作用域全解析
Aug 14 Javascript
jQuery实现宽屏图片轮播实例教程
Nov 24 Javascript
基于Bootstrap实现的下拉菜单手机端不能选择菜单项的原因附解决办法
Jul 22 Javascript
小程序tab页无法传递参数的方法
Aug 03 Javascript
浅谈vue项目打包优化策略
Sep 29 Javascript
trackingjs+websocket+百度人脸识别API实现人脸签到
Nov 26 Javascript
vue canvas绘制矩形并解决由clearRec带来的闪屏问题
Sep 02 Javascript
JS如何实现手机端输入验证码效果
May 13 Javascript
微信小程序实现弹幕墙(祝福墙)
Nov 18 Javascript
AJAX检测用户名是否存在的方法
Mar 24 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
PHILIPS L4X25T电路分析和打理
2021/03/02 无线电
咖啡冲泡指南 咖啡有哪些制作方式 单品咖啡 意式咖啡
2021/03/06 冲泡冲煮
在数据量大(超过10万)的情况下
2007/01/15 PHP
php多文件上传功能实现原理及代码
2013/04/18 PHP
解析crontab php自动运行的方法
2013/06/24 PHP
举例详解PHP脚本的测试方法
2015/08/05 PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
2015/12/22 PHP
PHP实现上传多图即时显示与即时删除的方法
2017/05/09 PHP
PHP依赖注入原理与用法分析
2018/08/21 PHP
jquery实现图片滚动效果的简单实例
2013/11/23 Javascript
DIV始终居中的js代码
2014/02/17 Javascript
js使用for循环及if语句判断多个一样的name
2014/09/09 Javascript
javascript和jquery实现设置和移除文本框默认值效果代码
2015/01/13 Javascript
jQuery学习笔记之2个小技巧
2015/01/19 Javascript
Jquery实现瀑布流布局(备有详细注释)
2015/07/31 Javascript
vue  directive定义全局和局部指令及指令简写
2018/11/20 Javascript
VUE渲染后端返回含有script标签的html字符串示例
2019/10/28 Javascript
详解Typescript 内置的模块导入兼容方式
2020/05/31 Javascript
vue中用 async/await 来处理异步操作
2020/07/18 Javascript
JavaScript中window和document用法详解
2020/07/28 Javascript
Python函数参数类型*、**的区别
2015/04/11 Python
python+pyqt5编写md5生成器
2019/03/18 Python
python脚本执行CMD命令并返回结果的例子
2019/08/14 Python
Python 3.6 中使用pdfminer解析pdf文件的实现
2019/09/25 Python
Python文字截图识别OCR工具实例解析
2020/03/05 Python
使用简单的CSS3属性实现炫酷读者墙效果
2014/01/08 HTML / CSS
美国瑜伽品牌:Gaiam
2017/10/31 全球购物
美国孕妇装品牌:Destination Maternity
2018/02/04 全球购物
存储过程和sql语句的优缺点
2014/07/02 面试题
创业计划书中包含的9个方面
2013/12/26 职场文书
幼儿园教师奖惩制度
2014/02/01 职场文书
就业意向书范文
2014/04/01 职场文书
给小学生的新年寄语
2014/04/04 职场文书
2017年寒假少先队活动总结
2016/04/06 职场文书
Mysql systemctl start mysqld报错的问题解决
2021/06/03 MySQL
JavaScript文档对象模型DOM
2021/11/20 Javascript