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的document.ready更快的方法
Apr 28 Javascript
jQuery探测位置的提示弹窗(toolTip box)详细解析
Nov 14 Javascript
js实现跨域的方法实例详解
Jun 24 Javascript
javascript产生随机数方法汇总
Jan 25 Javascript
Bootstrap每天必学之级联下拉菜单
Mar 27 Javascript
JS针对Array的各种操作汇总
Nov 29 Javascript
Vue项目数据动态过滤实践及实现思路
Sep 11 Javascript
配置eslint规范项目代码风格
Mar 11 Javascript
浅谈Vue CLI 3结合Lerna进行UI框架设计
Apr 14 Javascript
使用RxJS更优雅地进行定时请求详析
Jun 02 Javascript
uni-app微信小程序登录授权的实现
May 22 Javascript
OpenLayers3实现图层控件功能
Sep 25 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
星际争霸任务指南——人族
2020/03/04 星际争霸
php中常量DIRECTORY_SEPARATOR用法深入分析
2014/11/14 PHP
浅谈php处理后端&amp;接口访问超时的解决方法
2016/10/29 PHP
php基于闭包实现函数的自调用(递归)实例分析
2016/11/11 PHP
javascript 特性检测并非浏览器检测
2010/01/15 Javascript
jQuery的实现原理的模拟代码 -5 Ajax
2010/08/07 Javascript
Javascript中获取出错代码所在文件及行数的代码
2010/09/23 Javascript
浅析return false的正确使用
2013/11/04 Javascript
javascript中的self和this用法小结
2014/02/08 Javascript
多个checkbox被选中时如何判断是否有自己想要的
2014/09/22 Javascript
JS实现统计复选框选中个数并提示确定与取消的方法
2015/07/01 Javascript
JS创建对象几种不同方法详解
2016/03/01 Javascript
Javascript iframe交互并兼容各种浏览器的解决方法
2016/07/12 Javascript
js仿淘宝评价评分功能
2017/02/28 Javascript
Vue2.x中的父子组件相互通信的实现方法
2017/05/02 Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
2017/05/20 Javascript
jquery插件canvaspercent.js实现百分比圆饼效果
2017/07/18 jQuery
JavaScript判断浏览器和hack滚动条的写法
2017/07/23 Javascript
Vue实现input宽度随文字长度自适应操作
2020/07/29 Javascript
vue项目打包后提交到git上为什么没有dist这个文件的解决方法
2020/09/16 Javascript
给Python IDLE加上自动补全和历史功能
2014/11/30 Python
python使用自定义user-agent抓取网页的方法
2015/04/15 Python
基于DataFrame筛选数据与loc的用法详解
2018/05/18 Python
django如何连接已存在数据的数据库
2018/08/14 Python
Python File(文件) 方法整理
2019/02/18 Python
Python代码太长换行的实现
2019/07/05 Python
Python使用itchat 功能分析微信好友性别和位置
2019/08/05 Python
pandas-resample按时间聚合实例
2019/12/27 Python
python通过安装itchat包实现微信自动回复收到的春节祝福
2020/01/19 Python
canvas之万花筒效果的简单实现(推荐)
2016/08/16 HTML / CSS
HTML5 audio标签使用js进行播放控制实例
2015/04/24 HTML / CSS
求职教师自荐书
2014/06/19 职场文书
群众路线教育实践活动自我剖析思想汇报
2014/10/04 职场文书
学前班学生评语
2014/12/29 职场文书
mysql 如何获取两个集合的交集/差集/并集
2021/06/08 MySQL
Vue.js中v-for指令的用法介绍
2022/03/13 Vue.js